微机原理经典习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、当WR=1,RD=0,M/IO=1时,表示CPU当前正在进行读存储器操作。

2、已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,

DS段有一操作数,其偏移地址=0204H,

1)画出各段在内存中的分布

2)指出各段首地CS:10550H DS:250A0H

ES:2EF00H SS:8FF00H

3)该操作数的物理地址=?

解:各段分布及段首址见右图所示。

操作数的物理地址为:

250AH×10H+0204H = 252A4H

3、若已知(SS)=1000H、(SP)=2000H;则堆栈段的段首地址=?1000H 栈顶地址=?12000H

若现在把1234H送入堆栈,则它所在的存储单元地址=? 1988H 若该段最后一个单元地址为2FFFH,则栈底地址=?12FFFH

4、MOV AX,[3102H]

AL=(3102H) , AH=(3103H)

如果(DS)=2000H, (23012H) = CDH, (23013H) = ABH;指令执行后,AX=? ABCDH

5、MOV AX,[SI]

若 (DS)=6000H, (SI)=1200H, (61200H)=44H, (61201H)=33H

则指令执行后,(AX)=3344H。

7、保留AL中低4位,高4位清0。

AND AL, 0FH

AL中有字符’a’~’z’, 将其转换成大写。

A N D A L,01011111B

8、把A H和A L中的非压缩B C D码组合成压缩的B C D码,放到A L中。

M O V C L,4

S H L A H,C L

O R A L,A H

9、把A X寄存器清零。

①M O V A X,0②X O R A X,A X

③A N D A X,0④S U B A X,A X

10、把A L中的数x乘10

S A L A L,1;2x

M O V A H,A L

S A L A L,1;4x

S A L A L,1;8x

A D D A L,A H;8x+2x=10x

11、(BX)=84F0H,把 (BX) 中的 16 位数每 4 位压入堆栈

MOV CH, 4 ; 循环次数

MOV CL, 4 ; 移位次数

NEXT:

ROL BX, CL

MOV AX, BX

AND AX, 0FH

PUSH AX

DEC CH

JNZ NEXT

12、用串传送指令实现200个字节的数据传送:L E A S I,M E M1

L E A D I,M E M2

M O V C X,200

C L D

R E P M O V S B

13、把从A000H开始的2K B内存单元清零。

程序段如下:

M O V D I,0A000H

M O V A X,0

M O V C X,1024

C L D

R E P S T O S W

14、从一个字符串中查找一个指定的字符

mess db ‘COMPUTER’

lea di, mess

mov al, ‘T’

mov cx, 8

cld

repne scasb

15、比较两个字符串,找出不相匹配的地方

lea si, mess1

lea di, mess2

mov cx, 8

cld

repe cmpsb

16、α、β是双精度数,分别存于 DX,AX 及 BX,CX 中,

α > β时转 L1 ,否则转 L2

CMP DX, BX

JG L1

JL L2

CMP AX, CX

JA L1

L2:

……

L1:

……

18、给1A000H开始的256个内存单元均减去1,若发现某个单元减为0则立即退出循环,其后的单元不再减1。程序段如下:(逻辑地址为1A00:0H)

M O V A X,1A00H

M O V D S,A X;1A00H段

M O V D I,-1

M O V C X,256

G O O N:I N C D I

D E C B Y T E P T R[D I]

L O O P N Z G O O N

H L T

21.说明下面两个定义的不同之处:

DB ‘AB’ ;41H在低字节,42H在高字节

DW ‘AB’

22.T A B L E D B10D U P(?)

B U F F E R D W T A B L E,$+3

设T A B L E的偏移地址为0080H,则汇编后$+3的内容为008f h

23. 求AX和BX中两无符号数之差的绝对值,结果放在内存200H单元中。

MOV AX,[300H]

MOV BX,[302]

SUB AX,BX

JA AA

NEG AX

AA:MOV [200H],AX

INT 20H

24.BUF中有N个有符号数,分离其中的正负数,分别送入BUF1和BUF2中。

这是一个循环次数已知的程序设计,用计数循环完成。DATA SEGMENT

BUF DB 12H, 34H, -56H, -98H, 096H, 68H, 56H, 80H

N=$-BUF

BUF1 DB N DUP(0)

BUF2 DB N DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV DX,DATA

MOV DS,AX

LEA SI,BUF

LEA DI,BUF1

LEA BX,BUF2 MOV CX,N

AA:MOV AL,[SI]

相关文档
最新文档