mainCRTStartup WinMainCRTStartup

assume cs:codesg,ds:datas

; str字符必须是13位,所以中间加了两个空格,网上很多代码也避开了这个问题,都是通过加空格,拼写错误,反正加个占位符
; 否则会输出一堆乱码,实在想不明白是什么原因
datas segment
str db 'Hello World!','$'
datas ends

codesg segment
mov ax,datas
mov ds,ax
lea dx,str ; 获取str的偏移地址
mov ah,9 ; 调用9号功能输出字符串
int 21h

mov ah,4ch
int 21h
codesg ends
end








STACK    SEGMENT STACK
DB 200 DUP (0)
STACK ENDS
DATA SEGMENT
BUF DB' Hello World $'
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA, SS: STACK
BEGIN: MOV AX,DATA
MOV DS,AX
LEA DX,BUF
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END BEGIN



 

posted @   zJanly  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2021-07-05 Pippenger
2021-07-05 rustgo
点击右上角即可分享
微信分享提示