当前位置:首页 > 微机原理:顺序、分支、循环、子程序设计
LOOP DO NEXT0:
SUB BL, 48 MOV AL, BL MOV BL, 2 DIV BL CMP AH, 1 JNZ NEXT1 JZ NEXT2 NEXT1:
LEA DX, HEX1 MOV AH, 09H INT 21H HLT NEXT2:
LEA DX, HEX2 MOV AH, 09H INT 21H ends end start
若输入的为偶数
若输入的为奇数
3.4 experiment 2-4 name \
data segment
HEX DB 16 DUP(0) ends
code segment start:
ASSUME DS:DATA MOV AX, DATA MOV DS, AX MOV CX, 16 ;read from keyboard read:
CMP CX, 1 JZ STOP
MOV AH, 01H INT 21H CMP AL, 65 JZ count
CMP AL, 13
JZ STOP LOOP read ;count 'A' characters count:
INC BL LOOP read
STOP:
MOV AH, 02H MOV DL, 0AH
INT 21H; 打印换行 MOV DL, 0DH INT 21H;打印回车 ADD BL, 48 MOV DL, BL INT 21H ends end
start
3.5 experiment 2-5
①冒泡排序,没有在BUF3中除去重复的字符 此题设两个字符串为 BUF1 = ”ACEGIK” BUF2 = ”BDFJLHMN”
name \
;此程序不需要压入堆栈保护的数据 data segment
BUF1 DB \ BUF2 DB \ BUF3 DB 14 DUP(0) ends
stack segment
DB 256 DUP(0) ends
code segment start:
ASSUME DS:DATA, CS:CODEL, SS:STACK MOV AX, DATA MOV DS, AX LEA BX, BUF1 LEA SI, BUF2 LEA DI, BUF3 CALL remove
CALL reorder;段内转移,若段间转移,测试一下格式 ;print on the screen LEA DX, BUF3 MOV AH, 09H INT 21H HLT
remove proc near MOV CX, 6 DO1:
MOV AX, [BX] MOV [DI], AX INC BX INC DI LOOP DO1 MOV CX, 8 DO2:
MOV AX, [SI] MOV [DI], AX INC SI INC DI
共分享92篇相关文档