主题:下面程序段所完成的功能
pqf
[专家分:0] 发布于 2006-05-13 20:49:00
mov al, 28h
mov ah,0
sal ax,1
mov bx,ax
sal ax,1
sal ax,1
add ax,bx
回复列表 (共7个回复)
沙发
C语言爱好者 [专家分:19410] 发布于 2006-05-13 20:52:00
就是2*(ax)+8*(ax),结果放在ax。
板凳
pqf [专家分:0] 发布于 2006-05-13 22:27:00
谢谢你的回复,但是sal是算术左移,不是shl逻辑左移指令啊
shl al, 1才是将al的内容乘以2啊
另外 还想请教你一个译码方面的问题:
如何画出8个I/O端口地址260h--267h译码电路?
3 楼
pqf [专家分:0] 发布于 2006-05-13 22:33:00
谢谢你的回复,但是sal是算术左移,不是shl逻辑左移指令啊
shl al, 1才是将al的内容乘以2啊
另外 还想请教你一个译码方面的问题:
如何画出8个I/O端口地址260h--267h译码电路?
4 楼
C语言爱好者 [专家分:19410] 发布于 2006-05-14 13:26:00
对于左移来说,算术和逻辑都一样的,右移才不一样。
现代计算机寻址时会先对地址进行译码(名曰线性地址译码),不过,电路的实现属于数字电路专业的范畴,偶不是这一专业的,无法回答这个问题。
5 楼
Runking [专家分:370] 发布于 2006-05-14 19:50:00
译码方式有好多种呢~全译码,部分译码,一般采用部分的,节省硬件开销~
一般不采用线选法
6 楼
Runking [专家分:370] 发布于 2006-05-14 19:55:00
用那种译码电路啊??74系列的译码电路有很多种啊
7 楼
pqf [专家分:0] 发布于 2006-05-16 22:40:00
用7474LS138译码器实现的,如果高手能用多种方式实现更好啊
我来回复