1、编写程序,判断AL中的值,当其大于9时,在显示器上显示’Y’;否则,在显示器上显示’N’。
注:(只写核心代码即可,需要先用cmp指令进行比较,然后用ja(满足above条件就跳转)
、je(满足equel条件就跳转)
、jb(满足below条件就跳转)
等转移条件进行分支选择,还需要用到无条件跳转指令jmp来跳过一些指令)
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
mov al,?
cmp al,9
JB L1
mov dl,'Y'
JMP OVER
L1:
mov dl,'N'
JMP OVER
OVER:
mov ah,2
int 21h
MOV AH,4CH
INT 21H
CODES ENDS
END START
2、编写程序,计算前10个数的和。
注:计算结果不用输出显示,只写核心代码即可。(需要参考循环程序的流程:先初始化;然后判断循环条件是否还成立(用cmp指令),如果成立,执行一遍循环体,改变循环条件,在用jmp跳转到条件判断处接着判断执行完上次循环体后循环条件是否还成立;如果循环条件不在成立,跳出循环。)
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
;变量
mov bl,1 ;C: cnt
mov dl,bl;C: sum
;循环
L0:
cmp bl,10
JB AGAIN ;below
JMP OVER ;JMP:无条件跳转,直接到OVER,
AGAIN:
add bl,1 ;cnt++
add dl,bl ;sum+=cnt
JMP L0
OVER:
MOV AH,4CH
INT 21H
CODES ENDS
END START