校本教研-
实验一:判断一个数
X
的正,负数,还是零。
(假设是正数,输出
+
,是负数,输出
-
,是零,
输出
This is a zore !
)
DATA SEGMENT
X DB 10
CR EQU 0DH
LF EQU 0AH
W DB 'This is a zore!',CR,LF
,'$$'
ZHENG DB '+',CR,LF
,'$$'
FU DB '-',CR,LF,'$$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AL,X
AND AL,AL
JZ L1
SHL AL,1
JC L3
JMP L2
L1: MOV DX,OFFSET W
MOV AH,9
INT 21H
JMP L4
L2: MOV DX,OFFSET ZHENG
MOV AH,9
INT 21H
JMP L4
L3: MOV DX,OFFSET FU
MOV AH,9
INT 21H
JMP L4
L4: MOV AH,4CH
INT 21H
CODE ENDS
END START
实验二:求十个数中的最小数,并以十进制输出。
(若要求最大的,只要把
JC
改为
JNC
即
可)
(仅局限于
0--- 16
间的数比较
,
因为
ADD
AL,30H
只是针对一位的十六进制转换十进制的
算法)
DATA SEGMENT
XDAT DB 0AH,1FH,02H,03H,04H,05H,06H,07H,08H,09H
MIN DB ?
CR EQU 0DH
LF EQU 0AH
W DB ' is min',CR,LF,'$$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV CX,9
MOV SI,OFFSET XDAT
MOV AL,[SI]
L2: CMP AL,[SI+1]
JC L1
MOV AL,[SI+1]
L1: INC SI
LOOP L2
ADD AL,30H
MOV DL,AL
MOV AH,2
INT 21H
MOV DX,OFFSET W
MOV AH,9
INT 21H
CODE ENDS
END START
实验三:设有
3
个单字节无符号数存放在
BU F
开始的缓冲区中,编写一个能将它们从大到
小从新排列的程序。
DATA SEGMENT
BUF DB 87,234,123
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET BUF
MOV AL,[SI]
;
把
3
个数取到寄存器中
MOV BL,[SI+1]
MOV CL,[SI+2]
CMP AL,BL
;
排序,将最大数送
AL
寄存器
JAE NEXT1
XCHG AL,BL
NEXT1:CMP AL,CL
JAE NEXT2
XCHG AL,CL
NEXT2:CMP BL,CL
;
将最小输送
CL
寄存器
校本教研-
校本教研-
校本教研-
校本教研-
校本教研-
校本教研-
校本教研-
校本教研-
本文更新与2021-01-25 06:12,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/564454.html
-
上一篇:LISP经典程序
下一篇:五年级下册课文丝绸之路读后感范文(精选3篇)