exam301.asm

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

ASM
30
字号
;把压缩存放的BCD码,转换为对应十进制数字ASCII码的程序
dseg segment
     bcd db 86h           ;假设的压缩BCD码
     ascii db 2 dup(0)    ;存放ASCII码
dseg ends
cseg segment
      assume cs: cseg, ds:dseg
start: mov ax, dseg       ;设置数据段寄存器值
       mov ds, ax
       mov cl, 4
       ;把存放在低4位的BCD码转换为对应十进制数字ASCII码
       mov al, bcd
       and al, 0fh
       add al, 30h
       mov ascii+1, al
       ;把存放在高4位的BCD码转换为对应十进制数字ASCII码
       mov al, bcd
       shr al, cl
       add al, 30h
       mov ascii, al
       mov ah, 02h
       mov dl, ascii
       int 21h 
       mov dl, ascii+1
       int 21h
       mov ah, 4ch        ;返回DOS
       int 21h
cseg ends
     end start 

⌨️ 快捷键说明

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