微机原理与接口技术实验:汇编综合练习
程序员文章站
2024-02-02 15:20:52
...
学生实验报告
实验课名称:微机原理与接口技术
实验项目名称:汇编综合练习
实验名称:汇编综合练习
一、 实验目的
利用所学汇编知识,编写程序,实现输入两个二位十六进制数,输出其十进制值
二、实验内容
从键盘上输入两个二位十六进制数,利用汇编程序,输出其二进制表示的值
三、实验仪器与设备
计算机,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
六、实验结果与分析
通过本次的汇编实验,对所学汇编知识有了更深的理解:loop用于循环,通过cx值确定循环次数,特别注意需要时刻对cx值进行保护,使用div时,特别注意被除数是16位还是32位,这对之后余数、商存放的位置有影响、dos的2号功能使用后,会把输出字符的ASCII值放入al中…计算机中存储数据的格式是以二进制存储的,debug汇编程序的时候,看到的都是十六进制,对于进制转换,我们可以利用AAA或者循环除进制数即可。总的说来,做完这个实验后,对汇编语言有了更加深刻的理解,希望后面学的更好!
推荐阅读
-
微机原理与接口技术实验:汇编综合练习
-
微机原理与接口技术复习笔记(2)——8086/8088处理器
-
【微机原理与接口技术】简单易学的 简单接口芯片—— 三态门 74LS244和 锁存器 74LS273
-
在win10 64位的电脑学习《16/32微机原理、汇编语言及接口技术教程》(钱晓捷)的汇编语言——环境配置教程
-
微机原理与接口技术--西安电子科技大学-笔记三
-
微机原理与接口技术--西安电子科技大学-笔记一
-
微机原理与接口技术--西安电子科技大学-笔记二
-
微机原理与接口技术复习笔记(2)——8086/8088处理器
-
微机原理与应用综合实验—计数器8254应用
-
微机原理与接口技术之8255A和8253/5254 必须掌握的编程题