求助:微机原理与接口技术 程序题 10
MOVCL,4MOVAL,78H;AL=?MOVDL,ALANDAL,0FH;AL=?ORAL,30H;AL=?SHRDL,CL;DL=?ORDL,30H求上面几个AL和...
MOV CL,4
MOV AL,78H ;AL=?
MOV DL,AL
AND AL,0FH ;AL=?
OR AL,30H ;AL=?
SHR DL,CL ;DL=?
OR DL,30H
求上面几个AL和DL的值,并说出程序段得功能 展开
MOV AL,78H ;AL=?
MOV DL,AL
AND AL,0FH ;AL=?
OR AL,30H ;AL=?
SHR DL,CL ;DL=?
OR DL,30H
求上面几个AL和DL的值,并说出程序段得功能 展开
2个回答
展开全部
MOV CX,200 ;CX=200,给出REP的循环次数
MOV SI, OFFSET STR1 ;STR1的偏移地址给SI,源偏移地址
LEA DI,STR2 ;DI,目的偏移地址装入有效STR2地址
CLD ;DF=0地址按增加方向变化
REPMOVSB ;200次源地址到目的地址的字节转移
1、这段程序完成什么功能? 200字节的STR1到STR2的转移(传送,复制)
2、REP和MOVSB哪条先执行? MOVSB先操作,然后CX-1,判断CX=0?执行REP
3、REP执行时,完成什么操作? CX-1
4、执行时,MOVSB完成什么操作? 串转移,并且SI+1,DI+1
问题二、X/Y/Z均为16位带符号数,请编写一段程序段计算表达式(X*Y+Z-1000)/70的值
就是带符号数的四则运算,注意16*16位就是32位,高16位是在DX中,低16位是在AX中,然后有符号数的乘法是IMUL,除法是IDIV;还有低位ADD后高位运算注意进位用ADC,减法也一样。整个运算只要不溢出就没问题
问题三、已知两个字符有符号数,存放在数据段shu开始的地址单元,如果两个数同号,求其差,否则这求其和。
应该是2个字节的有符号数吧。。。
LEA SI,shu
MOV AX,[SI]
PUSH AX
AND AX,80H
MOV BX,[SI+1]
PUSH BX
AND BX,80H
XOR AX,BX
JZ SUBSTACT
ADDITION: POP BX
POP AX
SUB AX,BX
HTL
SUBTRACT: POP BX
POP AX
ADD AX,BX
HTL
MOV SI, OFFSET STR1 ;STR1的偏移地址给SI,源偏移地址
LEA DI,STR2 ;DI,目的偏移地址装入有效STR2地址
CLD ;DF=0地址按增加方向变化
REPMOVSB ;200次源地址到目的地址的字节转移
1、这段程序完成什么功能? 200字节的STR1到STR2的转移(传送,复制)
2、REP和MOVSB哪条先执行? MOVSB先操作,然后CX-1,判断CX=0?执行REP
3、REP执行时,完成什么操作? CX-1
4、执行时,MOVSB完成什么操作? 串转移,并且SI+1,DI+1
问题二、X/Y/Z均为16位带符号数,请编写一段程序段计算表达式(X*Y+Z-1000)/70的值
就是带符号数的四则运算,注意16*16位就是32位,高16位是在DX中,低16位是在AX中,然后有符号数的乘法是IMUL,除法是IDIV;还有低位ADD后高位运算注意进位用ADC,减法也一样。整个运算只要不溢出就没问题
问题三、已知两个字符有符号数,存放在数据段shu开始的地址单元,如果两个数同号,求其差,否则这求其和。
应该是2个字节的有符号数吧。。。
LEA SI,shu
MOV AX,[SI]
PUSH AX
AND AX,80H
MOV BX,[SI+1]
PUSH BX
AND BX,80H
XOR AX,BX
JZ SUBSTACT
ADDITION: POP BX
POP AX
SUB AX,BX
HTL
SUBTRACT: POP BX
POP AX
ADD AX,BX
HTL
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询