当前位置:编程学习 > 汇编语言 >>

汇编语言写个小程序,hello world!

求一个汇编程序,打印一句话“hello world!”,要求能在DOS上显示出来。还有就是link之后怎么操作才能显示
追问:这个程序在link之后该怎么做,才能显示出来,烦劳您详说一下
答案:link之后,要求在屏幕上显示,直接输入该程序名字:"****.exe"+回车。比如说:d\masm>+名字+exe+回车。^_^
其他:程序如下:
 ORG 0000H
 LJMP START
 ORG 0030H
START:
;-------------设置串行口
       MOV       SCON, #50H  ;设定串行通信方式1,由T1控制波特率
       MOV       PCON, #00H  ;设置SMOD=0 
;-------------设置T1
       MOV   TMOD,   #20H
       MOV   TH1,    #0FDH         ; 9600@11.0592MHz
       MOV   TH1,    #0FDH
       SETB   TR1                 ;启动T1,作为串行口的波特率发生器

    MOV  DPTR,    #STR_TAB
       MOV   R2,     #11          ;共发出11个字节
F_LOOP:
       MOVC  A,     @DPTR
       INC   DPTR
       MOV   SBUF,  A
       JNB   TI,    $
       CLR   TI
       DJNZ  R2,    F_LOOP
       SJMP  $

STR_TAB:
       DB   'H','e','l','l','o',' ','w','o','r','l','d' data segment
 ;DATA HERE
 String db 'Hello World!$'
data ends

stack segment stack
 db 20 dup('STACK')
stack ends

;-------------------------------------------------
code segment
 assume ds:data,es:data,ss:stack,cs:code
.586p
start:
 mov ax, data
 mov ds, ax
 mov es, ax
 ;CODE HERE

 mov dx, offset String
 mov ah, 09h
 int 21h

 mov ax, 4c00h
 int 21h
code ends
 end start 什么汇编 X86 ?   MASM ? 500元人民币,包会. assume cs:code,ds:data

data segment
    db "hello world!    "
data ends

stack segment
     db 16 dup (0)
stack ends	 

code segment
start:mov ax,stack
      mov ss,ax
	  mov sp,10h
	  
      mov ax,data
      mov ds,ax
      mov bx,0
      
	  mov cx,12
 s:   push [bx]
      pop [bx] 
       inc bx
       loop s

     mov ax,4c00h
     int 21h
code ends

end start	 
============================================================
link之后debug,t指令执行完毕后用d指令查看就能得出  (-d ds:0=====将你pc机中cs值输进去即可) 楼上明显是个新手,DOS显示出来,不应该这么写。。

理论都是对的,只不过,你得往显存中写入这些字符所对应的ASC码才能正常的显示。。

assume cs:code,ds:data

data segment
    db "hello world!    ",0
data ends

stack segment
     db 16 dup (0)
stack ends	 

code segment
start:mov ax,stack
mov ss ,ax
mov sp,10h
mov ax,data 
mov ds,ax
mov si,0
mov es,b800h
mov di,0
mov  cx,10h
s: push cx
    push si 
    push di 
mov al,ds:[si]
mov es:[di],al
inc si
add di,2
loop s
pop di 
pop si 
pop cx

mov ax,4c00h
int 21h
code ends
end  start 

上一个:那位仁兄手里有汇编语言的基础教材啊,拜求!!!
下一个:关于汇编语言

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,