![]() |
#2
永夜的极光2007-11-29 14:05
我来试试
判断题,下面两个是正确的还是错误的? 1.MOV SI,[SI] 对 2.OUT [BX],AL 不大清楚,out的目的操作数,好像只能是立即数和dx,所以我猜这个是错的 四、程序分析 1.执行完程序后,回答指定的问题。 MOV AX,0 MOV BX,2 MOV CX,50 LP: ADD AX,BX ADD BX,2 LOOP LP 问:(1)该程序的功能是( 计算2+4+6+.....+100 )。 (2)程序执行完成后,(AX)=( 2550 )。 2.执行完程序后,回答指定的问题。 MOV AX,200H MOV BX,500H MOV [BX+10H],30H 这一句有问题吧 ADD AX,[BX+10H] LEA SI,[BX+10H MOV BX,AX 问:该程序段执行后,SI=(510H)。BX=(500H)。 六、填语句 1.从键盘输入一个十六进制数码,转换成二进制数放入HEXNUM单元,在括号上填入适当的语句。 HEXNUM DB ? MOV AH,(01H) INT 21H CMP AL,39H ( jbe ) NEXT SUB AH,(6H) NEXT: SUB AL,30H MOV HEXNUM,AL HLT 2.已知从BUF单元起存有若干带符号数,将其中的正数找出并存入PLUS单元,负数存入MINUS单元,把下列程序填充完整。 DATA SEGMENT BUF DB 12,-2,3,4,-80,-1,6,8,-11,-23 CN EQU $-BUF PLUS DB CN DUP(?) MINUS DB CN DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUF MOV DI,OFFSET PLUS MOV BX,OFFSET MINUS MOV CX, (CN) NEXT: MOV AL,[SI] INC SI TEST AL,80H (jnz) PP MOV [DI],AL INC (di) JMP LP PP: MOV [BX],AL (inc) BX LP: (loop) NEXT MOV AH,4CH INT 21H CODE ENDS END START 上面写的我都没有在编译器上测试过,所以不保证正确,后面两个程序都挺简单的,LZ自己练练手吧 [[italic] 本帖最后由 永夜的极光 于 2007-11-29 14:11 编辑 [/italic]] |
马上就要汇编考试了,很多题目都不会做,那位大侠能帮忙看一下啊!求解啊!!
判断题,下面两个是正确的还是错误的?
1.MOV SI,[SI]
2.OUT [BX],AL
四、程序分析
1.执行完程序后,回答指定的问题。
MOV AX,0
MOV BX,2
MOV CX,50
LP: ADD AX,BX
ADD BX,2
LOOP LP
问:(1)该程序的功能是( )。
(2)程序执行完成后,(AX)=( )。
2.执行完程序后,回答指定的问题。
MOV AX,200H
MOV BX,500H
MOV [BX+10H],30H
ADD AX,[BX+10H]
LEA SI,[BX+10H
MOV BX,AX
问:该程序段执行后,SI=( )。BX=( )。
六、填语句
1.从键盘输入一个十六进制数码,转换成二进制数放入HEXNUM单元,在括号上填入适当的语句。
HEXNUM DB ?
MOV AH,( )
INT 21H
CMP AL,39H
NEXT ( )
SUB AH,( )
NEXT: SUB AL,30H
MOV HEXNUM,AL
HLT
2.已知从BUF单元起存有若干带符号数,将其中的正数找出并存入PLUS单元,负数存入MINUS单元,把下列程序填充完整。
DATA SEGMENT
BUF DB 12,-2,3,4,-80,-1,6,8,-11,-23
CN EQU $-BUF
PLUS DB CN DUP(?)
MINUS DB CN DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET BUF
MOV DI,OFFSET PLUS
MOV BX,OFFSET MINUS
MOV CX, ( )
NEXT: MOV AL,[SI]
INC SI
TEST AL,80H
( ) PP
MOV [DI],AL
INC ( )
JMP LP
PP: MOV [BX],AL
( ) BX
LP: ( ) NEXT
MOV AH,4CH
INT 21H
CODE ENDS
END START
七、程序设计
1.大小写字母互换
(1)设内存数据区有大小写混合英文ASCII字母。将其转换为全部大写和全部小写,并在屏幕显示这3种字母。字母显示用DOS功能9号调用。
(2)程序算法:大小写英文字母互换,查ASCII码字符表可知,字母A~Z的ASCII码是41H~5AH,字母a~z的ASCII码是61H~7AH。两种字母转换只需加减20H即可。
[[italic] 本帖最后由 shooterboy 于 2007-11-29 11:39 编辑 [/italic]]