【发布时间】:2021-04-11 10:31:20
【问题描述】:
我是汇编语言的新手。我只需要一些关于如何声明减少输入数字的计数器循环的建议或提示。比如输入=5,打印=55555.5555.555.55.5
include emu8086.inc
org 100h
print 'Input a number: '
MOV AH,01H ;input
INT 21H
MOV BL,AL
MOV DL,BL
SUB BL,30H
MOV CL,BL
printn
print 'Output: '
DISP:
MOV AH,02H
INT 21H
DEC CL
JNZ DISP
MOV AH,4CH
INT 21H
Input: 5
Output: 55555
这对你们来说很基础,对我来说很难学,但我不会停止学习。我只是需要一些建议。
【问题讨论】:
-
MOV AH,01H/INT 21H将输入存储在AL,MOV BL,AL/SUB BL,30H/MOV CL,BL将CL设置为input - 30H,DISP:/DEC CL/JNZ DISP是CL值的循环。所以已经有一个循环,依赖于输入。 -
是的,output = 55555 是循环的结果,但是另一个变成递减的循环呢?我怎样才能使输出到
55555, 5555, 555, 55, 5? -
为输出计数添加值输入 (
INT 21H) 并将循环计数器 (CL) 更改为该值。 -
您能指导我将其添加到我的代码中吗?我明白你说的,但我做不到。因为我才刚刚开始学习。
标签: assembly emu8086 program-counter