ARM指令完成的功能是当条件为“带符号数小于”时,将R2和R3进行逻辑或操作,结果存放在R1中,正确的指
A.ORRMIR1,R2,R3
B.ORREQ R1,R2,R3
C.ORRLT R1,R2,R3
D.ORRNE R1,R2,R3
A.ORRMIR1,R2,R3
B.ORREQ R1,R2,R3
C.ORRLT R1,R2,R3
D.ORRNE R1,R2,R3
设AL、BL中都是带符号数,当AL≤BL是转至M田仃处,在CMP AL,BL指令后应选用的条件转移指令是()。
A.JBE
B.JNG
C.JNA
D.JNLE
A.ARM指令长度为32bits,而Thumb指令为16bits
B.所有ARM指令都可以条件执行,而Thumb指令则仅有B指令具有条件执行功能
C.ARM和Thumb属于两个指令集,不能在同一个汇编程序中混用
D.从功能上来看,Thumb指令是ARM指令的一个子集
A.支持16位、32位、64位多种指令集,能很好的兼容从IOT,终端到云端的各类应用场景
B.采用复杂指令集,处理效率高
C.大量使用寄存器,大多数数据操作都在寄存器中完成,指令执行速度更快
D.同样功能、性能占用的芯片面积小、功耗低、集成度更高,更多的硬件CPU核具备更好的并发性能
编制一个程序,其实现的功能为:计算10个带符号字节数据的绝对值之和(和为字型),并且找出绝对值最小的数及其所在的偏移地址,将结果依次存入指定的内存区中,结果以0FH结束。
例如:
内存中有:23H, 14H,00H,08H,PEH, 87H,02H,01H,PPH,01H
结果为:BFH,00H,00H,02H,00H,0FH
部分程序已经给出,原始数据由过程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 6 DUP(0)
MIN DB ?
NAME0 DB 'INPUT.DAT',0
NAME1 DB 'OUTPUT.DAT',0
DSEG ENDS
SSEG EGMENT 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 DX,SI
MOV CX,N-1
MOV AL,[SI]
SUB AX,0
JNS NEXT
NEG AL
NEXT: MOV MIN,AL
ADD [DI],AL
(1)
AGAIN: INC SI
MOV AL,[SI]
ADD AL,0
JNS NEXT1
(2)
NEXT1: ADD [DI],AL
(3)
CMP MIN,AL
JBE NEXT2
MOV MIN,AL
(4)
NEXT2: LOOP AGAIN
ADD DI,2
A.增加了16位Thumb指令集
B.处理器系统模式引进特权方式时使用用户寄存器操作
C.完善了软件中断SWI指令的功能
D.把一些未使用的指令空间捕获为未定义指令