还是微机原理 拜托了

9、某程序数据段中存有两个字数据1234H和5A6BH,若已知DS=5AA0H,它们的偏移地址分别为245AH和3245H,试画出它们在存储器中的存放情况。10、对于下面... 9、某程序数据段中存有两个字数据1234H和5A6BH,若已知DS=5AA0H,它们的偏移地址分别为245AH和3245H,试画出它们在存储器中的存放情况。
10、对于下面两个数据段,写出偏移地址为10H和11H两个字节中的数据。
1、DTSEG SEGMENT 2、DTSEG SEGMENT
ORG 10H ORG 10H
DATA1 DB 72H,04H DATA1 DW 7204H
DTSEG ENDS DTSEG ENDS
四、程序题
1、已知下列程序,阅读后回答问题:
DATA SEGMENT
STRING DB ‘AKFDjfjjecJIDJkJKjdKU’,’$’
DATA ENDS
STACK SEGMENT PARA STACK ‘STACK’
DB 1024 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES;DATA,SS:STACK
BEGIN: MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV DI,OFFSET STRING
NEXT: MOV AL,[DI]
CMP AL,’$’
JZ DISP
CMP AL,’A’
JB SKIP
CMP AL,’Z’
JA SKIP
ADD BYTE PTR [DI],20H
SKIP: INC DI
JMP NEXT
DISP:MOV DX,OFFSET STRING
MOV AH,9
INT 21H
MOV AX,4C00H
INT 21H
CODE ENDS
END BEGIN
问题:此程序完成什么功能?写出程序的运行结果。
2、以下程序完成什么样的功能?循环次数是多少?程序执行后,RESULT单元的值是多少?
DATA SEGMENT
RESULT DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BEGIN: MOV AX, DATA
MOV DS, AX
MOV CX, 100
MOV AX, 0
MOV BX, 1
AG: ADD AX, BX
INC BX
LOOP AG
MOV RESULT, AX
MOV AH, 4CH
INT 21H
CODE ENDS
END BEGIN
3、读下面程序段,确定其结果:
MOV AX,0A0BH
SUB AX,0FFH
AND AX,00FFH
MOV CL,3
SAL AL,CL
ADD AL,25H
XCHG AL,AH
PUSH AX
POP BX
HLT
程序执行结束后 AX=( )
BX=( )

3、 MOV CX,100;
MOV SI,0FFFH;
NEXT:INC SI;
CMP BYTE PTR [SI],'A';
LOOPNZ NEXT;
EXIT:
该程序段的功能是_________________________。

4、 CLD
LEA DI, [0126H]
MOV CX, 0080H
XOR AX, AX
REP STOSW
程序段功能是 。
5、指出下列程序中的错误:
STAKSG SEGMENT
DB 100 DUP(?)
STA_SG ENDS
DTSEG SEGMENT
DATA1 DB ?
DTSEG END
CDSEG SEGMENT
MAIN PROC FAR
START: MOV DS,DATSEG
MOV AL,34H
ADD AL,4FH
MOV DATA,AL
START ENDP
CDSEG ENDS
END
展开
 我来答
xiongzaio
推荐于2016-12-02 · TA获得超过290个赞
知道答主
回答量:96
采纳率:0%
帮助的人:90.1万
展开全部
做题不容易,给分要大方啊,老大

9、某程序数据段中存有两个字数据1234H和5A6BH,若已知DS=5AA0H,它们的偏移地址分别为245AH和3245H,试画出它们在存储器中的存放情况。

5AA0:245A 34H 5AA0:245B 12H
5AA0:3245H 6B 5AA0:3246H 5A

10、对于下面两个数据段,写出偏移地址为10H和11H两个字节中的数据。
1、DTSEG SEGMENT 2、DTSEG SEGMENT
ORG 10H ORG 10H
DATA1 DB 72H,04H DATA1 DW 7204H
DTSEG ENDS DTSEG ENDS
1:ORG 10H
10h: 72H 11H:04H
2: 10H 04H 11H:72H

四、程序题
1、已知下列程序,阅读后回答问题:
DATA SEGMENT
STRING DB ‘AKFDjfjjecJIDJkJKjdKU’,’$’
DATA ENDS
STACK SEGMENT PARA STACK ‘STACK’
DB 1024 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES;DATA,SS:STACK
BEGIN: MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV DI,OFFSET STRING ;STRING 偏移地址
NEXT: MOV AL,[DI] 第一个字符
CMP AL,’$’是否是边界
JZ DISP 相等则跳到DISP
CMP AL,’A’判断是否为A
JB SKIP 为A则跳到SKIP
CMP AL,’Z’ 大于Z则也是skip
JA SKIP
ADD BYTE PTR [DI],20H DI加20 PTR指明类型
SKIP: INC DI di加一
JMP NEXT 继续下一个字符
DISP:MOV DX,OFFSET STRING 打印字符串
MOV AH,9
INT 21H
MOV AX,4C00H
INT 21H退出
CODE ENDS
END BEGIN
问题:此程序完成什么功能?写出程序的运行结果。
A不答应,大于Z的不打印,打印其它符合条件的字符,最后用$判断是否结束
然后打印整个字符串啊

2、以下程序完成什么样的功能?循环次数是多少?程序执行后,RESULT单元的值是多少?
DATA SEGMENT
RESULT DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BEGIN: MOV AX, DATA
MOV DS, AX ;DS数据段
MOV CX, 100 循环次数100次
MOV AX, 0
MOV BX, 1
AG: ADD AX, BX AX加bx
INC BX bx加一
LOOP AG ax=0+1+2+2+.....99+100
MOV RESULT, AX
MOV AH, 4CH result=5050
INT 21H
CODE ENDS
END BEGIN
3、读下面程序段,确定其结果:
MOV AX,0A0BH
SUB AX,0FFH ;0A0B-FF=90CH
AND AX,00FFH AX=000C
MOV CL,3
SAL AL,CL CL-3
ADD AL,25H AL-00100101 与后AL=0000 0100
XCHG AL,AH AL=0 AH,0100
PUSH AX 保存AX
POP BX 将ax值给BX
HLT
程序执行结束后 AX=( 0100 0000 )
BX=( 01000000 )

3、 MOV CX,100;
MOV SI,0FFFH;
NEXT:INC SI;
CMP BYTE PTR [SI],'A';
LOOPNZ NEXT;
EXIT:
该程序段的功能是__比较ds:0fffh开始的100个数据中是否有ASCII字幕A,若有A则退出_______________________。

4、 CLD
LEA DI, [0126H] ;di=0126
MOV CX, 0080H cx循环次数
XOR AX, AX ;是AX为0
REP STOSW 将ax的值给es;di
程序段功能是 :将es:0126开始的80个数据全置为0 。
5、指出下列程序中的错误:
STAKSG SEGMENT
DB 100 DUP(?)
STA_SG ENDS
DTSEG SEGMENT
DATA1 DB ?
DTSEG END
CDSEG SEGMENT
MAIN PROC FAR
START: MOV DS,DATSEG 错误,不能直接给Ds,需先给寄存器
MOV AL,34H
ADD AL,4FH
MOV DATA,AL
START ENDP
CDSEG ENDS
END
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式