鱼C论坛

 找回密码
 立即注册
查看: 5784|回复: 2

[已解决]实验九代码,向大佬求解代码问题在哪

[复制链接]
发表于 2021-5-12 17:35:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. assume cs:code,ds:data,ss:stack

  2. data segment
  3.         db 'welcome to masm!'
  4.         db 02h,24h,71h
  5. data ends

  6. stack segment
  7.         dw 8 dup (0)
  8. stack ends

  9. code segment
  10. start:        mov ax data
  11.                 mov ds,ax
  12.                 mov ax,stack
  13.                 mov ss,ax
  14.                 mov sp,10h
  15.                
  16.                 mov cx,3
  17. s:                push cx
  18.                 mov cx,16
  19.                 call s2
  20.                 loop s
  21.                
  22. s2:                mov al,ds:[bx]
  23.                 mov es:[si],al
  24.                 inc bx
  25.                 inc si
  26.                 mov dx,ds:[di]
  27.                 mov es:[si],dx
  28.                 call s3
  29.                 ret
  30.                
  31. s3:                pop cx
  32.                 inc di
  33.                 mov si,0
  34.                 mov bx,0
  35.                 mov dx,0
  36.                 ret
  37.                
  38.                 mov ax,4c00h
  39.                 int 21h

  40. code ends
  41. end start
复制代码





报错如下
用小甲鱼视屏里的代码执行到push cx时也会报错:instruction or directive
和53行报错:symbol no dinefind
  1. assume cs:code,ds:data,ss:stack

  2. data segment
  3.         db 'welcome to masm!'
  4.         db 02h,24h,71h
  5. data ends

  6. stack segment
  7.         dw 8 dup (0)
  8. stack ends

  9. code segment
  10. start:        mov ax,data
  11.                 mov ds,ax
  12.                 mov ax,stack
  13.                 mov ss,ax
  14.                 mov sp,10h
  15.                
  16.                 xor bx,bx ;bx清零
  17.                 mov ax,0b872h
  18.                
  19.                 mov cx,3
  20. s3:        push cx
  21.                 push ax
  22.                 push bx
  23.                
  24.                 mov es,ax
  25.                
  26.                 mov si,0
  27.                 mov di,0
  28.                
  29.                 mov cx,10h
  30. s1:                mov al,ds:[si]
  31.                 mov es:[di],al
  32.                 inc si
  33.                 add di,2
  34.                 loop s1
  35.                
  36.                 mov di,1
  37.                 pop bx
  38.                 mov al,ds:[bx+10h]
  39.                 inc bx
  40.                
  41.                 mov cx,10h
  42. s2:                mov es:[di],al
  43.                 add di,2
  44.                 loop s2
  45.                
  46.                 pop ax
  47.                 add ax,0ah
  48.                
  49.                 pop cx
  50.                 loop s3
  51.                
  52.                 mov ax,4c00h
  53.                 int 21h               

  54. code ends
  55. end start
复制代码
最佳答案
2021-5-13 13:15:42
本帖最后由 myunco 于 2021-5-13 13:28 编辑

都报错到第13行了,你就不仔细看看吗···
  1. start:        mov ax data
复制代码

mov ax,data
你的逗号呢


附上我的实验9代码供参考:

                               
登录/注册后可看大图

  1. assume cs:codesg

  2. data segment
  3.         db 'welcome to masm!'
  4. data ends

  5. codesg segment
  6.         start:
  7.         mov ax,data
  8.         mov ds,ax

  9.         mov ax,0b800h
  10.         mov es,ax
  11.         mov si,0
  12.         mov bx,720h
  13.         mov cx,16
  14.         lp:
  15.         mov ah,2h ;00000010
  16.         mov al,[si]
  17.         mov es:[bx],ax

  18.         mov ah,24h ;00100100
  19.         mov al,[si]
  20.         mov es:[bx].0A0h,ax

  21.         mov ah,71h ;01110001
  22.         mov al,[si]
  23.         mov es:[bx].0A0h.0A0h,ax

  24.         inc si
  25.         add bx,2
  26.         loop lp

  27.         mov ax,4c00h
  28.         int 21h
  29. codesg ends

  30. end start
复制代码
屏幕截图 2021-05-12 172847.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-12 17:36:02 | 显示全部楼层
截图的报错是上面我自己代码哪里的报错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-13 13:15:42 | 显示全部楼层    本楼为最佳答案   
本帖最后由 myunco 于 2021-5-13 13:28 编辑

都报错到第13行了,你就不仔细看看吗···
  1. start:        mov ax data
复制代码

mov ax,data
你的逗号呢


附上我的实验9代码供参考:

                               
登录/注册后可看大图

  1. assume cs:codesg

  2. data segment
  3.         db 'welcome to masm!'
  4. data ends

  5. codesg segment
  6.         start:
  7.         mov ax,data
  8.         mov ds,ax

  9.         mov ax,0b800h
  10.         mov es,ax
  11.         mov si,0
  12.         mov bx,720h
  13.         mov cx,16
  14.         lp:
  15.         mov ah,2h ;00000010
  16.         mov al,[si]
  17.         mov es:[bx],ax

  18.         mov ah,24h ;00100100
  19.         mov al,[si]
  20.         mov es:[bx].0A0h,ax

  21.         mov ah,71h ;01110001
  22.         mov al,[si]
  23.         mov es:[bx].0A0h.0A0h,ax

  24.         inc si
  25.         add bx,2
  26.         loop lp

  27.         mov ax,4c00h
  28.         int 21h
  29. codesg ends

  30. end start
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-8 05:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表