635924705 发表于 2021-2-8 19:40:54

汇编语言_实验9(改版I LOVE YOU的输出)

本帖最后由 635924705 于 2021-2-8 20:15 编辑

【学习交流,共同进步】
assume cs:codesg, ds:datasg

datasg segment
    ;定义几个空格,一行80个word,7*80+35
    dw 595 dup (0)   
      
      ;定义第一行,占个10个word
      db 'I',00000010B,' ',00000010B,'L',00000010B,'O',00000010B,'V',00000010B,'E',00000010B,' ',00000010B,'Y',00000010B,'O',00000010B,'U',00000010B
      
      ;定义几个空格,35+3*80+35
    dw 310 dup (0)   
      
      ;定义第二行,占个10个word
      db 'I',00100100B,' ',00100100B,'L',00100100B,'O',00100100B,'V',00100100B,'E',00100100B,' ',00100100B,'Y',00100100B,'O',00100100B,'U',00100100B
      
      ;定义几个空格,35+3*80+35
      dw 310 dup (0)   
      
      ;定义第三行,占个10个word
      db 'I',01110001B,' ',01110001B,'L',01110001B,'O',01110001B,'V',01110001B,'E',01110001B,' ',01110001B,'Y',01110001B,'O',01110001B,'U',01110001B
      
      ;定义几个空格
      dw 755 dup (0)
      
datasg ends

codesg segment
start: mov ax,datasg
       mov ds,ax      ;数据段的地址给ds
         mov ax,0b800h
         mov es,ax      ;显示段的地址给es
         
         mov di,0         ;di表示第几个字符的传输,di+2就是下一个字符
         mov cx,2000      ;自行定义传送前多少个word的数据,即前多少个字符
      s: mov ax,
         mov es:,ax
      
         add di,2
         loop s
                     
         mov ax,4c00h
       int 21h      
codesg ends
end start
感觉这个实验要求少就简单,就是全面copy数据,然后算一下在哪显示文字好看就行了。

635924705 发表于 2021-2-8 20:13:25

看完小甲鱼老师的讲解之后,我发现,我这个方法是不是太偷懒了。{:10_266:}{:10_266:}{:10_266:}
直接数据拿来就用,都没用循环。{:10_245:}
就适用性可能不高吧。{:5_109:}
页: [1]
查看完整版本: 汇编语言_实验9(改版I LOVE YOU的输出)