用汇编语言编程,将8位寄存器(如AL)中的数值以十进制的形式显示在计

2025-05-19 12:22:47
推荐回答(1个)
回答1:

code  segment
      assume cs:code
      org 100h
start:push cs
      pop ds
      push cs
      pop es
      mov al,99
      call dispnum
      mov ah,4ch
      int 21h

dispnum proc near
    push ax
    push bx
    push cx
    push dx
    push si
    push di
    push bp
    pushf
    ;   将要显示的数据放入AL中
    mov ah,0
    mov cl,10
    div cl
    mov byte ptr[@@y+4],ah             ;保存个位
    add byte ptr[@@y+4],30h            ;个位转ASC2
    mov ah,0
    div cl
    mov byte ptr[@@y+3],ah             ;保存十位
    add byte ptr[@@y+3],30h            ;十位转ASC2
    mov ah,0
    mov byte ptr[@@y+2],al             ;保存百位
    add byte ptr[@@y+2],30h            ;百位转ASC2
    mov ah,9
    lea dx,@@y
    int 21h
    popf
    pop bp
    pop di
    pop si
    pop dx
    pop cx
    pop bx
    pop ax
    ret
@@y db 10,13,0,0,0,'$'
dispnum endp

code  ends
      end start