一、实验名称:实验二 不同寻址方式的灵活运用
二、实验内容:定义数组a[6],用多种寻址方式访问对应元素,实现(a[0]+a[1])*(a[2]-a[3])/a[4],将结果保存在内存a[5]中,用debug查询结果。
- 实验过程:
源代码:
data segment
a db 10,14,5,4,6,9
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov al,a ;NO.1 //直接寻址
mov bl,a+1
mov cl,bl ;NO.2 //寄存器寻址
add al,cl
mov si,offset a+2
mov bl,[si] ;NO.3 //寄存器间接寻址
mov cl,[si+1];NO.4 //寄存器相对寻址
sub bl,cl
mul bl
mov bl,2
mov cl,[si+bx];NO.5 //基址变址寻址
DIV cl
mov [si+bx+1],al;NO.6 //相对基址变址寻址
mov ah,4ch
int 21h
code ends
end start
运行截图:
文章来源:https://www.toymoban.com/news/detail-839182.html
- 实验小结:
本次实验我们继续熟悉,掌握不同方式的寻址方法,分别运用,直接寻址,寄存器寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址共6种方法进行4则运算,按照题目要求完成实验。首先我们利用直接寻址的方式将数值名a(即内存地址)解码,获得数组的第一个元素值,将其放进al寄存器中,然后将第2个元素的值放进bl中,再用寄存器寻址的方法把元素值放进cl中,然后取出第三个元素的地址放进si寄存器中,然后运用寄存器间接寻址的方式解码元素值放进bl寄存器中,然后再运用寄存器相对寻址的方式得到第4个元素,放入cl寄存器中,再进行减法运算和乘法运算,然后用基址变址寻址方式得到第5个元素,再进行相除运算。最后用相对基址变址的寻址方式将结果放进al寄存器中。文章来源地址https://www.toymoban.com/news/detail-839182.html
到了这里,关于AHU 汇编 实验二的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!