汇编——单字符输入输出+字符串输入输出(换行实现)

单字符输入输出

bash 复制代码
;默认采用ML6.11汇编程序
DATAS SEGMENT
    CHAR DB ?;CHAR存储输入的字符
    CHANGELINE DB 13,10,'$';用来表示换行符  
DATAS ENDS

STACKS SEGMENT
    DB 128 DUP(?)
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    
    ;输入字符
    MOV AH,0
    INT 16H
    MOV CHAR,AL
    
    ;输出字符
    MOV DL,CHAR
    MOV AH,2
    INT 21H
    
    ;输出换行符
    MOV DX,OFFSET CHANGELINE
    MOV AH,9
    INT 21H
    
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

字符串输入输出

bash 复制代码
;默认采用ML6.11汇编程序
DATAS SEGMENT
    CHANGELINE DB 13,10,'$';表示换行符
    BUF DB 30,?,30 DUP(?) ;存储输入的字符串(DUP 数组)
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    
    ;输入字符串
    LEA DX,BUF;字符串的存储地址
    MOV AH,0AH
    INT 21H
    
    ;输出字符串
    MOV DX,OFFSET CHANGELINE
    MOV AH,9
    INT 21H
    
    
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
相关推荐
en.en..1 天前
volatile 完整深度教程(C 代码 + 带注释 ARM 汇编 + 硬件中断原理 + 分步运行时序)
c语言·汇编·arm开发
水饺编程2 天前
第2章:Linux 基础,rm 命令
linux·c语言·汇编
水饺编程2 天前
第2章:Linux 基础,关机命令
linux·c语言·汇编
en.en..3 天前
汇编与 C 语言 互调用
汇编
wuminyu4 天前
Continuation::freeze与thaw的x86_64汇编Stack Chunk拆解源码分析
java·linux·c语言·汇编·jvm·c++
en.en..5 天前
ARM 汇编 B / BL 核心区别
汇编·arm开发
水饺编程5 天前
第2章:Linux 基础,mkdir 命令的简单入门
linux·c语言·汇编
水饺编程6 天前
第2章:Linux 基础,echo 命令
linux·c语言·汇编
水饺编程7 天前
第2章:Linux 基础,clear 命令
linux·c语言·汇编
水饺编程8 天前
第2章:Linux 基础,whoami 命令
linux·c语言·汇编