本大会计划的含义

时间:2014-03-11 21:23:50

标签: assembly

我正在尝试理解这个汇编程序,它应该将两位数的解压缩BCD编号转换为:

1)ASCII等价物

2)BCD等效包装

;Unpacked BCD to ASCII & Packed BCD
.model small
.data
    msg db 10,13,'Two ASCII Digits are ' 
    asci1 db 30h,' and '
    asci2 db 30h, '$'
.code segment 
start:
    mov ax, @data ;Initializing data Segment register 
    mov ds, ax
    mov al, 2 ;1st Unpacked BCD number 
    mov bl, 4 ;2nd Unpacked BCD number
    add asci1, al ;equivalent ascii 
    add asci2, bl
    mov bh, al ;1st Unpacked bcd to bh 
    mov cl, 4 ;to shift lower 4 bits to higher 
    shl bh, cl
    or bh, bl ;Combine to get packed bcd in bh 
    lea dx, msg 

    ;Display All
    mov ah, 9 
    int 21h
    mov ah, 4ch ; exit to operating system. 
    int 21h
end start ; stop the assembler.

我特别不明白数据段中的三行特别是数字10,13,30h是什么意思。

我也不明白代码部分特别是msg如何将第一行与数字以及它们之间的单词“和”结合起来。

i; e该程序的输出是:

The ASCII digits are 2 and 4

我理解显示和退出操作系统的最后一段代码。

请解释为什么以及如何执行该程序。

0 个答案:

没有答案