MEMORYM:
LCALL CHGRAM11内存选择,确定内存区域,这里省略
MOV DPTR,#ST0函数入口地址组合首地址
CLR C
DEC A调用参数,以下计算入口地址
MOV R7,A
RLC A
ADD A,R7
JMP @A+DPTR跳转到入瞎蚂口地址
ST0:
LJMP FUNC1 以下为13个函数入口地址,完成不同的功能
LJMP FUNC2
LJMP FUNC3
LJMP FUNC4
LJMP FUNC5
LJMP FUNC6
LJMP FUNC7
LJMP FUNC8
LJMP FUNC9
LJMP FUNC10
LJMP FUNC11
LJMP FUNC12
LJMP FUNC13
datasegmentx db 5 x的值可以在运码这里更改,或者在debug中用e命令修改
y dw ?
dataends
codesegment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
xor ah,ah ah清零,目的是为了将字节扩展为字
mov al,x 取得数据x
cmp al,40 和40比较
jb next1 小于40转next1
jmp stop 大如野于等于40,就是x本身,直接转stop保存结果
next1: cmp al,20 小于40,渣悄喊则和20比较
jbe next2 小于等于20则转next2
add ax,ax 小于40并且大于20,x乘以2,相当于x+x,加法的执行效率比乘法高
jmp stop 转stop存结果
next2: xor al,al 小于等于20,将al清零
stop: mov y,ax 保存结果
mov ax,4c00h
int 21h
codeends
end start
data segmentscore dw 10 dup (?)
s5 db ?
s6 db ?
s7 db ?
s8 db ?
s9 db ?
s10 db ?
data ends
code segment
assume cs:code,ds:data
start:
lea si,score
mov cx,10
mov dl,10
next:
mov ax,[si]
div dl
mov ah,0
mov bx,ax
cmp bx,5
jnb next1
mov bx,5
next1:
inc s5[bx-5]
add si,2
loop next
mov ah,4ch
int 21h
code ends
end start
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)