程序设计题
1.使用串操作指令,将BUF缓冲区中的100个字节清0。
CLD
MOV CX,100 MOV AL,0 LEA DI,BUF
REP STOSB
2.比较5个字节的字符串A和B,若两个串相等则字节标志单元FLG置0;否则清1。
CLD
MOV CX,5 LEA DI,A LEA SI,B REPE CMPSB JZ L
MOV BYTE PTR FLG,1 JMP M
L:MOV BYTE PTR FLG,0
M:…
3.设BUF缓冲区中有100个字数据。编写程序段统计100个字数据中数据为0的个数, 并将统计的结果存放在DL寄存器中。
MOV CX, 100
MOV DL, 0 LEA BX, BUF L:MOV AL, [BX] CMP AL, 0 JNZ M INC DL M:INC BX LOOP L
4.计算Z=(X+5)*Y+30,(X,Y为无符号字节数据,Z是字变量)。
MOV AL, X
ADD AL, 5 MUL Y ADD AX, 30 MOV Z, AX
5.将DX:AX:BX中的48位数乘以2。
SAL BX, 1
RCL AX, 1 RCL DX, 1
6.将有100个字符的缓冲区BUF中的$符号用空格(20H)代替。
MOV CX, 100
LEA BX, BUF L:MOV AL, [BX] CMP AL, ?$? JNZ M MOV AL, 20H MOV [BX], AL M:INC BX LOOP L
7.将有符号的字数据A和B中的大者存入C中。
MOV AX, A
CMP AX, B JG L MOV AX, B L:MOV C, AX
8.测字单元A中的第四位是否为0,是则FLG置1,否则FLG置0。
MOV AX, A
AND AX, 10H JZ L MOV AL,0 JMP M
L:MOV AL, 1 M:MOV FLG, AL
9.将DX:AX中的32位数据逻辑左移2位。
SHL AX, 1
RCL DX, 1 SHL AX, 1 RCL DX, 1
10.将100个元素的字数组A中的每个元素加1。
MOV CX, 100
LEA BX, A
L:INC WORD PTR [BX] ADD BX, 2 LOOP L
编程
1、实现求内存中数据x是奇数还是偶数。奇数输出‘1’,偶数输出‘0’。 DATA SEGMENT X DB 36H DATA ENDS CODE SEGMENT
ASSUME CS;CODE,DS:DATA START:
MOV AX,DATA MOV DS,AX MOV AL,X SHL AL,1 JC L1 MOV AH,2 MOV DL,’0’ INT 21H MOV AH,4CH INT 21H L1:
MOV AH,2 MOV DL,’1’ INT 21H MOV AH,4CH INT 21H CODE ENDS END START
2、 从键盘正序输入反序输出(遇到回车键结束,少于200个字符)。 ST1 SEGMENT
X DW 200 DUP (?) ST1 ENDS CODE SEGMENT
ASSUME CS:CODE,SS:ST1 START:
MOV AX,ST1 MOV SS,AX MOV CX,0 L1:
MOV AH,1 INT 21H CMP AL,0DH JZ L2 MOV AH,0
PUSH AX INC CX JMP L1 L2:
POP DX MOV AH,2 INT 21H LOOP L2 MOV AH,4CH INT 21H CODE END END START
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库汇编复习资料(8)在线全文阅读。
相关推荐: