打印字符串导致汇编

时间:2011-12-10 20:08:54

标签: string assembly printing

; multi-segment executable file template.

data segment
   string db "THis is LuxUR in Summer."  
ends

stack segment
    dw   128  dup(0)
ends

code segment
start:
; set segment registers:
    mov ax, data
    mov ds, ax
    mov es, ax

  mov bx, offset string
  mov al, 0 ;      lower letters in word 
  mov dl,0  ; maximum letters

check:
mov cl, 41h ; from A-Z
mov ch, 5Ah   

mov ah, [bx]  
cmp ah, "."
je dot
cmp ah, " "
je empty 
jne letters

letters:   
cmp ah, cl 
je uppercase
inc cl
cmp cl, ch 
jne letters

mov cl, 61h     ; a-z
mov ch, 7Ah

lowercase: 
inc al
cmp dl,al 
jl maksimum

inc bx
jmp check

maksimum:
mov dl, al

inc bx
jmp check

uppercase:  
inc bx
jmp check    

empty:
mov al, 0
inc bx
jmp check

dot: 

我的程序计数在al的单词中小写。然后输入dl。 (最大小写) 我有标签名称是点。在那里,我必须提供一些指令,通过它我可以打印我的结果:

  

夏天是最低的病例5

我尝试了很少的指示,但它不起作用。

1 个答案:

答案 0 :(得分:0)

如果您使用的是Windows,最简单的方法是使用DOS Interrupts。具体来说,请尝试interrupt 09。这需要一个字符串并将其输出到标准输出。