微机原理与接口技术实验:汇编综合练习
【摘要】 学生实验报告
实验课名称:微机原理与接口技术 实验项目名称:汇编综合练习 实验名称:汇编综合练习
一、 实验目的
利用所学汇编知识,编写程序,实现输入两个二位十六进制数,输出其十进制值
二、实验内容
从键盘上输入两个二位十六进制数,利用汇编程序,输出其二进制表示的值
三、实验仪器与设备
计算机,DOSbox虚拟机,外接设备
四、实验原理
汇编语言的基础...
学生实验报告
实验课名称:微机原理与接口技术
实验项目名称:汇编综合练习
实验名称:汇编综合练习
一、 实验目的
利用所学汇编知识,编写程序,实现输入两个二位十六进制数,输出其十进制值
二、实验内容
从键盘上输入两个二位十六进制数,利用汇编程序,输出其二进制表示的值
三、实验仪器与设备
计算机,DOSbox虚拟机,外接设备
四、实验原理
汇编语言的基础知识
五、实验过程与代码
stack segment
db 10 dup(?)
stack ends
data segment
string_1 db 0ah,0dh,'please input a num: $'
string_2 db 0ah,0dh,'the result is: $'
result db 0,0,0
data ends
code segment
assume cs:code,ss:stack,ds:data
start:
mov ax,data
mov ds,ax
mov cx,2
begin:
push cx
lea dx,string_1
mov ah,09h
int 21h
mov cx,2
xor bl,bl
input:
push cx
mov cl,4
mov ah,01h
int 21h
shl bl,cl
sub al,30h
cmp al,10
jb shuzi
sub al,27h
shuzi:
add bl,al
pop cx
loop input
mov bh,0
mov ax,bx
mov bl,10
mov cx,3
mov si,offset result+2
change:
div bl
mov [si],ah
dec si
mov ah,0
loop change
lea dx,string_2
mov ah,09h
int 21h
mov cx,3
mov si,offset result
output:
mov dl,[si]
add dl,30h
mov ah,02h
int 21h
inc si
loop output
pop cx
loop begin
mov ax,4c00h
int 21h
code ends
end start
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
六、实验结果与分析
通过本次的汇编实验,对所学汇编知识有了更深的理解:loop用于循环,通过cx值确定循环次数,特别注意需要时刻对cx值进行保护,使用div时,特别注意被除数是16位还是32位,这对之后余数、商存放的位置有影响、dos的2号功能使用后,会把输出字符的ASCII值放入al中…计算机中存储数据的格式是以二进制存储的,debug汇编程序的时候,看到的都是十六进制,对于进制转换,我们可以利用AAA或者循环除进制数即可。总的说来,做完这个实验后,对汇编语言有了更加深刻的理解,希望后面学的更好!
文章来源: haihong.blog.csdn.net,作者:海轰Pro,版权归原作者所有,如需转载,请联系作者。
原文链接:haihong.blog.csdn.net/article/details/113741439
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)