汇编语言程序设计:[4]数字平台长度
1、打开masm汇编编译程序,新建一个masm源文件脚本。
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 AH,4CH
INT 21H
CODES ENDS
END START
![汇编语言程序设计:[4]数字平台长度](https://exp-picture.cdn.bcebos.com/58021a0148fe1e4224d71e65c2299a8838130310.jpg)
![汇编语言程序设计:[4]数字平台长度](https://exp-picture.cdn.bcebos.com/e9a4f2eeadbcbe2fc5cc5cac54dae43b3a867810.jpg)
2、在正文中输入我们的程序代码,并将文件命名为jisuan.asm
data segment
obf db '***** xiaobo welcome you !***** Designed by 1wangxiaobo@163.com',0dh,0ah
db ' input data:','$'
a0 db ?
a1 db ?
b0 db ?
b1 db ?
a db ?
b db ?
data ends
stack segment stack
db 200 dup(0)
stack ends
code segment
assume cs:code, ds:data,ss:stack
main:mov ax, data
mov ds, ax
mov ah, 9
lea dx, [obf]
int 21h
inc dx
mov dl, 13
mov ah, 2
int 21h
mov dl,10
int 21h
mov ah,1
int 21h
cmp al, 13
jz lab1
mov [a0], al
mov [a], al
mov [a1], 1
x1: mov ah, 1
int 21h
cmp al, 13
jz lab1
mov [b], al
mov bl, [b]
cmp bl, [a]
jnz x2
add [a1], 1
jmp x1
x2: mov [b0], bl
mov [b1], 1
x3: mov ah, 1
int 21h
mov [a], al
cmp bl,[a]
jnz x4
add [b1],1
jmp x3
x4: mov cl, [b1]
cmp cl, [a1]
jb y1
mov cl, [b0]
mov [a0], cl
mov cl, [b1]
mov [a1],cl
y1: cmp al, 13
jz lab1
mov [b0], al
mov [b1], 1
mov [b], al
mov bl, [b]
jmp x3
lab1: mov ah, 2
mov dl,13
int 21h
mov dl,10
int 21h
cmp [a1],10
jb z1
mov ah,0
mov al, [a1]
mov bl, 10
div bl
add ax, 3030h
mov bx, ax
mov ah, 2
mov dl, bl
int 21h
mov dl, bh
int 21h
jmp z2
z1: add [a1], 30h
mov dl, [a1]
int 21h
sub [a1],30h
z2: mov ah,2
mov dl, 13
int 21h
mov dl, 10
int 21h
mov cx, 0
mov cl, [a1]
mov ah, 2
m: mov dl,[a0]
int 21h
loop m
mov ah, 4ch
int 21h
code ends
end main
![汇编语言程序设计:[4]数字平台长度](https://exp-picture.cdn.bcebos.com/92174dbbf82064fb1bb72b958e6104a354e96f10.jpg)
3、运行我们编辑的文件,计算数字平台长度的程序,如:
运行时输入:
111122333,结果为:
4
1111
***** xiaobo welcome you !***** Designed by 1wangxiaobo@163.com
input data:
111122333
4
1111
Press any key to continue
![汇编语言程序设计:[4]数字平台长度](https://exp-picture.cdn.bcebos.com/586bfdefe0781431470a28d8dc6699cf03536210.jpg)
![汇编语言程序设计:[4]数字平台长度](https://exp-picture.cdn.bcebos.com/031231632385e036422d5d5cb8e039723c035a10.jpg)
![汇编语言程序设计:[4]数字平台长度](https://exp-picture.cdn.bcebos.com/baab2086304861437e6852858febf6a75e0f5310.jpg)