用8086汇编语言输出hello world的程序
发布网友
发布时间:2022-04-23 14:20
我来回答
共4个回答
热心网友
时间:2023-05-04 21:55
网页链接 这是我自己写的汇编总结笔记,适合新生入门的,望采纳~
热心网友
时间:2023-05-04 21:55
DATA SEGMENT
HWDB"hello world",'$'
;串定义
DATA ENDS
STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS
;堆栈段定义
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
EXIT:
MOVAX,4C00H
INT21H
;返回DOS
START:
MOVAX,DATA
MOVDS,AX
;初始化数据段寄存器
LEADX,HW
MOVAH,9
INT21H
;调用中断显示串
;...
JMPEXIT
CODES ENDS
ENDSTART
;指定程序入口
热心网友
时间:2023-05-04 21:56
data segment
buf db 'hello world$'
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
lea dx,buf
mov ah,9
int 21h
mov ah,4
int 21h
code ends
end start
热心网友
时间:2023-05-04 21:57
;-----------------------------------------------------
;数据段定义。即存放数据的地方
;-----------------------------------------------------
data segment use16
buf db 'hello,world',0dh,0ah,'$'
data ends
;---------------------------------------------
;代码段,是程序开始执行的地方
;---------------------------------------------
code segment use16
assume cs:code,ds:data
beg: mov ax,data ;加载数据段,这样在数据段中定义的数据'hello,world'才可以在代码段中
;使用
mov ds,ax
mov ah,9 ;调用21中断的9号服务程序,用于输出一个字符串
mov dx,offset buf ;这是串的首地址,只有将它传给寄存器dx,才能实现字符串的输出
int 21h
mov ah,4ch ;程序结束时,要返回dos,因而必须调用21中断中的4c号服务程序
int 21h
code ends
end beg