sum.asm

来自「我在汇编课上完成的一些作业(上机常见习题)和汇编课本上的几个例题」· 汇编 代码 · 共 32 行

ASM
32
字号
;计算100+...+1并显示出最后结果,结果为5050D = AB31H
data  segment
      sum dw ?
data  ends
code  segment
      assume cs:code, ds:data
start:  mov ax, data
        mov ds, ax
        mov cx,100
        xor bx, bx
again:  add bx, cx
        loop again
        mov sum, bx
        mov ch, 04   ;数据位计数器
rot:  mov cl, 4      ;每位有4bit
      rol bx, cl     ;将最高4bit移
      mov al,bl      ;到bl最低4bit
      and al,0fh     ;并取出送到al
      add al, 30h    ;转换为ASCII码
      cmp al, 3ah    ;al>'9'
      jb print       ;是0~9转
      add al, 07     ;是A~F再加7
print:  mov ah, 02
        mov dl, al
        int 21h      ;显示al字符
        dec ch       ;四位已经显示完没?
        jnz rot      ;还没有,转到ROT
        mov ah, 4ch
        int 21h
code  ends
      end start

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?