阅读下列程序段,
IN AL,82H
XOR AH,AH
ADD AX,AX
MOV BX,AX
MOV CX,2
SHL BX,CL
ADD AX,BX
① 程序段的功能是什么?
② 若从82H端口读入的数据为05H,执行程序段后AX=?
人气:346 ℃ 时间:2020-04-07 15:21:45
解答
汇编语言,
IN AL,82H //将82H地址端口的数据输入到AL寄存器;
XOR AH,AH //异或运算,将AH寄存器清零;
ADD AX,AX //将AX寄存器自加,结果继续放入AX寄存器
MOV BX,AX //将上步结果,即AL寄存器的值放入BX寄存器
MOV CX,2 //将2赋给寄存器CX,用作计数初值
SHL BX,CL //将BX寄存器中的二进制数值按位左移CL=2位,右面补零,相当于把BX寄存器
//中数值扩大到四倍
ADD AX,BX //将AX寄存器中数值与BX寄存器中数值想加,结果放入AX寄存器
整体作用:将82H地址端口输入的数据扩大为5倍放在AX寄存器中,这里采用16进制,因此输入是05H,执行后AX中为19H
推荐
- 阅读下面的程序段,
- 阅读下面的程序,
- 先阅读下列计算过程,在回答问题:
- 阅读下列语段,
- 然后回答问题:
- you do his home work!还是you does his work!
- 如右图,正方形的边长是8cm,一个半径为1cm的圆沿着正方形的四边内侧滚动一周,求圆滚过面积
- 父亲六指(B),母亲正常,生了一个白化病的儿子.问这对夫妻以后所生子女中,患白化病同时又是六指的几率
猜你喜欢