📜  8086程序打印输入整数表(1)

📅  最后修改于: 2023-12-03 14:38:54.408000             🧑  作者: Mango

8086程序打印输入整数表

本文介绍如何在8086汇编语言中编写程序以打印输入的整数表。

程序流程

程序的主要流程如下:

  1. 读取用户输入的整数
  2. 判断输入的整数是否为0,如果是,则退出程序;如果不是,则继续执行
  3. 输出输入的整数
  4. 将输入的整数加1
  5. 跳转到第2步
具体实现

首先,我们需要使用操作码int 21h来完成输入和输出操作。其中,ah=01h表示输入操作,ah=02h表示输出操作。输入的字符会被保存在al寄存器中,输出的字符由dl寄存器提供。

下面是一个完整的代码片段:

    assume cs:code
    cseg segment 'code'
        jmp start                       ; 跳转到start标号
    input db 'Input an integer: $'     ; 输入提示信息
    output db 'The integer is $'       ; 输出信息
    endmsg db '$'                      ; 结束符
    start:
        mov ah, 09h                     ; 设置输出调用码
        lea dx, input                   ; 设置输入提示信息
        int 21h                         ; 输出提示信息
    read:
        mov ah, 01h                     ; 设置输入调用码
        int 21h                         ; 读取输入的字符
        cmp al, '0'                     ; 比较输入的字符和'0'
        je exit                         ; 如果输入的字符是'0',跳转到exit标号
        mov ah, 02h                     ; 设置输出调用码
        lea dx, output                  ; 设置输出信息
        int 21h                         ; 输出信息
        mov dl, al                      ; 把输入的字符保存到dl寄存器中
        int 21h                         ; 输出字符
        mov dl, 0Dh                     ; 输出回车符
        int 21h
        mov dl, 0Ah                     ; 输出换行符
        int 21h
        add al, 01h                     ; 输入的字符加1
        jmp read                        ; 跳转到read标号
    exit:
        mov ah, 09h                     ; 设置输出调用码
        lea dx, endmsg                  ; 设置结束符
        int 21h                         ; 输出结束符
        mov ah, 4Ch                     ; 设置退出调用码
        int 21h                         ; 退出程序
    cseg ends
    end
结束语

本文介绍了如何在8086汇编语言中编写程序以打印输入的整数表。我们使用了int 21h操作码来完成输入和输出操作,同时也运用了这个程序的主要流程。如果在编写过程中遇到问题,请随时查看8086汇编语言的相关文档。