几道汇编语言问题

王朝知道·作者佚名  2012-07-16
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

1.求AL,CL分别为()

MOV AL,65H

MOV AH,0

MOV DL,10

DIV DL

MOV CL,4

SHL AL,CL

OR AL,AH

2.求AX为()

ORG 0000H

TABLE DW 12H,34H,56H,$+1018,78H,90H

COUNT EQU 3

LEA BX,TABLE

MOV DX,4[BX]

MOV AX,[BX+2*COUNT]

SUB AX,DX

3.解释每句话的含义

FACT PROC

PUSH DX

MOV DX,AX

CMP AX,0

JZ DONE

DEC AX

CALL FACT

MUL DX

POP DX

RET

DONE: MOV AX,1

POP DX

RET

FACT ENDP

4.下列属于段内间接寻址的是()

JMP WORD PTR [BX+ABC] JMP FAR PTR NEXT

JMP CX JMP SHORT NEXT

參考答案:

1.求AL,CL分别为(a1h,4)

MOV AL,65H

MOV AH,0

MOV DL,10

DIV DL ;65h除以10,结果:al=10(商),ah=1(余数)

MOV CL,4 ;cl的值为4

SHL AL,CL ;把al逻辑左移4位,结果:al=a0h

OR AL,AH ;al的最低位变为1,结果:al=a1h

2.求AX为(938)

ORG 0000H

TABLE DW 12H,34H,56H,$+1018,78H,90H ;这里$的值为6

COUNT EQU 3

LEA BX,TABLE

MOV DX,4[BX] ;dx=56h

MOV AX,[BX+2*COUNT] ;ax=6+1018=1024

SUB AX,DX ;ax=938

3.解释每句话的含义

FACT PROC ;定义一个过程名为fact

PUSH DX ;dx入栈

MOV DX,AX ;把ax的内容送dx

CMP AX,0 ;ax与0比较

JZ DONE ;如果ax为0,则跳转到done执行

DEC AX ;ax的内容减1

CALL FACT ;调用fact过程

MUL DX ;(dx,ax)←(ax)*(dx)

POP DX ;dx出栈

RET ;返回

DONE: MOV AX,1 ;把立即数1送ax

POP DX ;dx出栈

RET ;返回

FACT ENDP ;过程结束

4.下列属于段内间接寻址的是(JMP WORD PTR [BX+ABC])

JMP WORD PTR [BX+ABC] JMP FAR PTR NEXT

JMP CX JMP SHORT NEXT

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航