某程序代码段有一偏移地址为24AH的数据字5678H,若已知CS=5AA0H,该数据字在存储器中的物理地址是什么?
第1题
A.5A36H和26A6H
B.5A36H和26A3H
C.1000H和26A0H
D.1000H和26A3H
第2题
A.5A36H和26A6H
B.5A36H和26A3H
C.1000H和26A0H
D.1000H和26A3H
第3题
37.已知16个有符号数为:0,0,1, - 1,2, -2,3,-3 ,4, -4,5,-5 ,6, - 6,7,-7,试填空完成下列程序,统计其中正数、负数和0的个数。
STSEG SEGMENT STACK
DB 100H DUP( 'S')
STSEG ENDS
DTSEG SEGMENT
DATA1 DW 0,0,1, -1,2, - 2,3,-3 ,4, -4,5,- 5,6, -6,7, -7
PLUS DB O ;存放正数个数
ZERO DB 0 ;存放O个数
MINU DB 0 ;存放负数个数
DTSEG ENDS
CDSEG SEGMENT
MAIN PROC FAR
ASSUME CS:CDSEG, SS:STSEG, DS:DTSEG, ES:DTSEG
MOV AX, DTSEG
MOV DS, AX
MOV SI, ________ ;取第一个数据的地址
MOV CX, 16 ;设置循环次数
AGAIN: MOV AX, [SI] ;取数据
CMP AX, 0 ;比较
JZ ________ ;比较的结果为0
JL ________ ;比较的结果小于0
INC ________
JMP ________
ZER01: INC
JMP________
MINU1: INC________
NEXT: INC SI
INC SI
LOOP AGAIN
MOV AH,4CH
INT 21H
MAIN ENDP
CDSEG ENDS
END MAIN
第4题
【说明】
在某嵌入式安全监测系统中,对某任务的加工操作需通过数据采集(Collect_task)、计算(Calculate_task)这两个不同的程序段来完成,并且执行程序段Collect_task和Calculate _task的顺序及次数有如下约定:
Collect_task(2次)→Calculate_task(1次)→Collect_task(5次)→Calculate_task(4次)→Collect_task(2次)→Calculate_task(2次)
表6-22 所示为x86系统部分指令及寄存器说明。
采用逻辑尺控制法实现以上要求的汇编程序如下:
【汇编程序代码】
N EQU (1)
RULE EQU (2)
CODE SEGMENT
ASSUME CS:CODE
START: MOV AX,RULE
MOV CL,N
LOP: SAL AX,1
JC (3)
Collect: CALL Collect_task ;执行Collect_task程序段
JMP (4)
Calculate:CALL Calculate_task ;执行Calculate_task程序段
NEXT: (5)
JNZ (6)
MOV AH,4CH ;功能号送入AH寄存器
INT (7) ;结束程序运行,中断返回
(8)
END START
请根据试题的要求,将汇编程序代码中(1)~(8)空缺处的内容填写完整。
第6题
例如:
内存中有10个分数; 5EH,50H,64H,52H,55H,48H,3AH,4AH,40H,42H
结果为:02H,03H,02H,02H,01H,4DH(平均成绩)
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。
试题程序:
EXTRN LOAD:FAR, SAVE:FAR
N EQU 30
L EQU 5
DSEG SEGMENT
SOURCE DB N DUP(?)
RESULT DB N+1 DUP(0)
NAME0 DB 'INPUT1. DAT',0
NAME1 DB 'OUTPUT1.DAT',0
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP(?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS: CSEG, SS: SSEG, DS: DSEG
START PROC FAR
PUSH DS
XOR AX, AX
PUSH AX
MOV AX, DSEG
MOV DS, AX
LEA DX, SOURCE
LEA SI, NAME0
MOV CX, N
CALL LOAD
; *** BEGIN ***
LEA SI,SOURCE
LEA DI,RESULT
XOR BX,BX
(l)
MOV CX,N
GOON: LODSB
(2)
ADD BX,AX
(3)
JAE A1
CMP AL,80
JAE A2
CMP AL,70
JAE A3
CMP AL,60
JAE A4
INC (4)
(5)
A4: INC BYTE PTR [DI+3]
JMP NEXT
A3: INC BYTE PTR [DI+2]
JMP NEXT
A2: INC BYTE PTR [DI+I]
JMP NEXT
A1: INC BYTE PTR [DI]
NEXT: LOOP GOON
MOV AX,
第7题
部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1.DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END之间补充使其完整,完成要求的功能。或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终产生运行结果。
部分程序如下:
; PROG1.ASM
EXTRN LOAD:FAR, SAVE:FAR
N EQU 1
DSEG SEGMENT
SOURCE DW N DUP (?)
RESULT DW N DUP (0)
NAME0 DB 'INPUT1.DAT',0
NAME1 DB 'OUTPUT1.DAT',0
DSEG ENDS
SSEG SEGMENT STACK
DB 128 DUP (?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG;SS:SSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
LEA DX, SOURCE
LEA SI,NAME0
MOV CX,N
CALL LOAD
; *** BEGIN ***
MOV AX,______
MOV BX, 1
_____________
L1: _____________
_____________
_____________
MOV [RESULT],BX
; *** END ***
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
第8题
例如:
内存中有:10H,01H,27H,00H,FFH,FSH,……
结果为:03H,00H,08H,00H,00H,FEH,……
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件 OUTPUT1.DAT中。
填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。
试题程序:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 20
X EQU 5
DSEG SEGMENT
SOURCE DB N DUP(?)
RESULT DB N DUP(0)
NAME0 DB 'INPUT1.DAT',0
NAME1 DB 'OUTPUT1.DAT',0
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP (?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEC, SS:SSEC, DS:DSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV ES,AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,N
CALL LOAD
; *** BEGIN ***
LEA SI,SOURCE
LEA DI,RESULT
CONT: LODSB
CBW
MOV DL,X
IDIV DL
(1) ; 余数为负数吗
JNS PLUS
(2) ; 求绝对值
ADD AH,AH
CMP AH,DL
JB (3)
SUB AL,1
JMP NEXT
PLUS: ADD (4)
CMP AH,DL
JB NEXT
(5)
NEXT: STOSB
CMP SI,N
JB CONT
; *** END ***
LEA DX,RESULT
LEA SI,NAME 1
MOV CX,N
&nb
第9题
例如:
内存中有:73H,45H……
则结果为:37H,B3H,34H,B5H……
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
【试题程序】
EXTRN LOAD:FAR,SAVE:FAR
N EQU 20
DSEG SEGMENT
SOURCE DB N DUP(?)
RESULT DB N*2 DUP(0)
NAME0 DB 'INPUT.DAT',0
NAME1 DB 'OUTPUT.DAT',0
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP(?) SSEG ENDS CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,SS:SSEG START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,N
CALL LOAD
; ******** BEGIN ********
LEA SI,SOURCE
LEA DI,RESULT
MOV CX,N
AGAIN: MOV AL,[SI]
MOV AH,AL
(1)
AND AH,0FOH
(2)
MOV CL,4
(3)
POP CX
ADD AL,30H
(4) NEXT
OR AL,80H
NEXT: MOV [DI],AL
INC DI
ADD AH,30H
(5) NEXT1
OR AH,80H
NEXT1: MOV [DI],AH
INC DI
INC SI
LOOP AGAIN
; ******** END ********
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N*2
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
第10题
例如:
内存中为:4FH,83H,34H…
则结果为:26H,40H,18H…
部分程序已经给出,原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从 RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空缺处已经用横线标出,空缺处一般只需要一条指令,但采用功能相当的多条指令也可以,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
[试题程序]
EXTRN LOAD:FAR,SAVE:FAR
N EQU 10
DSEG SEGMENT
SOURCE DB N DUP(?)
RESULT DB N DUP(0)
NAME0 DB 'INPUT.DAT',0
NAME2 DB 'OUTPUT.DAT',0
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP(?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,SS:SSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,N
CALL LOAD
; ******** BEGIN ********
LEA SI,SOURCE
LEA DI,RESULT
MOV BX,N
AGAIN: MOV AL,[SI]
MOV DX,0
MOV DL,AL
AND AX, (1)
MOV CL,3
(2) AX,CL
(3)
SUB AX,5
MOV CL,3
(4) AX,CL
MOV [DI],AL
INC SI
INC DI
DEC BX
(5)
; ****+**** END ********
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!