一、实验目的
1. 掌握汇编语言的编程方法
2. 掌握DOS功能调用的使用方法
3. 掌握汇编语言程序的调试运行过程
二、实验内容
1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。
2. 在屏幕上显示自己的学号姓名信息。
3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。
4. 自主设计输入显示信息,完成编程与调试,演示实验结果。
三、实验步骤
1. 运行QTHPCI软件,根据实验内容,参考程序流程图编写程序。
2. 选择“项目”菜单中的“编译”或“编译连接”对实验程序进行编译连接。
3. 选择“调试”菜单中的“进行调试”,进入Debug调试,观察调试过程中传输指令执行后各寄存器及数据区的内容。按F9连续运行。
字符转换为ASCII码流程图
- 实验设备
PC机一台
- 实验源码
data segment
string db
tip db
orgc db
hex db
data ends
code segment
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'
je ending
cmp al,'Q'
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
;tab
mov dl,9
mov ah,2
int 21h
;输出ASCII显示的提示字符串
lea dx,hex
mov ah,9
int 21h
and bl,0F0h ;取高四位
shr bl,4
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
- 实验结果