MASM 5.0编译通过,运行无误。微机原理汇编问题 检举|1 小时前 提问者:曾经不化的雪|悬赏分:20编写程序,实现一位数的加法,要求:从键盘上输入被加数和加数,通过程序求和得出结果,在屏幕上显示一个完整的算式,例即执行生成的.exe文件时显示形式为:7+9=16.data segmentF DB 0;标志位字节,每输入一个数后该标志求反,以实现每两个数相加。A DB 0;被加数CRLF DB 0DH,0AH,24H;回车换行data endscode segmentassume cs:code,ds:datamain proc farbegin:push dsmov ax,0push axMOV AX,DATAMOV DS,AXNEXT:MOV AH,7INT 21Hcmp al,0dh;回车程序结束je exitCMP AL,'0';屏蔽0-9之外的字符JB NEXTCMP AL,'9'JA NEXTPUSH AXMOV DL,ALMOV AH,2INT 21HMOV DL,FNOT FMOV BL,FCMP BL,0;标志位字节=0时计算,否则继续输入加数JE ADD_1POP AXSUB AL,30HMOV A,ALMOV AH,2MOV DL,'+'INT 21HJMP NEXTADD_1:MOV AH,2MOV DL,'='INT 21HPOP AXSUB AL,30HADD AL,ADAAMOV DL,ALMOV CL,4SHR DL,CLAND AL,0FHAND DL,0FHADD AL,30HADD DL,30HPUSH AXMOV AH,2INT 21HPOP DXMOV AH,2INT 21HMOV DX,OFFSET CRLFMOV AH,9INT 21HJMP 。
汇编微机原理 根据你的8086汇编语言程序中的这个 13,13是回车符的 ASCII 码。这个可以通过标准的 ASCII 码表得到从 0-255 的所有字符值。常见的控制符的 ASCII 码有:8(向左删除键)、9(TAB键)、10(换行键)、13(回车键),这些都可以在命令提示符状态下进行测试。其中:data 为定义一个数据段。cmp 为比较指令、jnz 为跳转指令,等等。
微机原理汇编问题 data segmentvalue db 4dup(0)data endscode segmentassume ds:data,cs:codestart:mov ax,datamov ds,axmov es,axlea di,valuemov cl,4begin:push axand ax,0x0000Fstosbpopshr ax,4loop beginxor bx,bxxor cx,cxlea si valuemov bh,byte ptr[si]mov bl,byte ptr[si+1]mov ch,byte ptr[si+2]mov cl,byte ptr[si+3]mov ax,4c00hint 21hcode ends