实验内容
1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。
2. 在屏幕上显示自己的学号姓名信息。
3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。
4. 自主设计输入显示信息,完成编程与调试,演示实验结果。
流程图

实验源码
data segment
string db 'Name:I❥XDU; ID:190301xxxxx$'
tip db 'Input characters(enter q or Q to quit):$'
orgc db 'char:$'
hex db 'ascii:$'
data ends
code segment
assume cs:code,ds:data
start:
mov ax, data
mov ds, ax
mov es, ax
;输出姓名学号
lea dx, string
mov ah, 9
int 21h
mov dl, 0Dh
mov ah, 2
int 21h
mov dl, 0Ah
mov ah, 2
int 21h
lea dx, tip
mov ah, 9
int 21h
cmpq:
;换行
mov dl, 0Dh
mov ah, 2
int 21h
mov dl, 0Ah
mov ah, 2
int 21h
mov ah, 1
int 21h
cmp al, 'q'
;若等于q,则跳转到ending
je ending
cmp al, 'Q'
;若等于Q,则跳转到ending
je ending
mov bl, al
mov bh, al
;回车+换行
mov dl, 0Dh
mov ah, 2
int 21h
mov dl, 0Ah
mov ah, 2
int 21h
lea dx, orgc
mov ah, 9
int 21h
mov dl, bh
mov ah, 2
int 21h
mov dl, 9
mov ah, 2
int 21h
lea dx, hex
mov ah, 9
int 21h
and bl, 0F0h ;取高四位
mov cl, 4
shr bl, cl
cmp bl, 9
ja alph1
numb1:
add bl, '0'
mov dl, bl
mov ah, 2
int 21h
jmp low4
alph1:
add bl, 37h
mov dl, bl
mov ah, 2
int 21h
low4:
and bh, 0Fh ;取低四位
cmp bh, 9
ja alph2
numb2:
add bh, '0'
mov dl, bh
mov ah, 2
int 21h
jmp cmpq
alph2:
add bh, 37h
mov dl, bh
mov ah, 2
int 21h
jmp cmpq
ending:
;回车+换行
mov dl, 0Dh
mov ah, 2
int 21h
mov dl, 0Ah
mov ah, 2
int 21h
;终止程序
mov ax, 4c00h
int 21h
code ends
end start
实验结果
