鱼C论坛

 找回密码
 立即注册
查看: 1783|回复: 7

《汇编语言》实验九 自己编的实在看不出错在哪。。。

[复制链接]
发表于 2013-10-5 15:56:33 | 显示全部楼层 |阅读模式

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

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

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

data segment
   db 'welcome to masm!'
   db 02h,24h,71h
data ends

stack segment
   dw 8 dup (0)
stack ends

code segment
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,10h
mov ax,0d872h
mov es,ax
mov bx,0
mov si,0
mov di,0
mov cx,3
s:
    push bx
    push cx
    mov cx,16
so:
    mov al,[bx]
    mov es:[bx+si],al
    mov al,ds:10h[di]
    mov es:1h[bx+si],al
    add bx,2
    loop so

    add si,0a0h
    inc di
    pop cx
    pop bx
    loop s

    mov ax,4c00h
    int 21h
code ends
end start
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-5 21:31:31 | 显示全部楼层
assume cs:code,ds:data,ss:stack
data segment
   db 'welcome to masm!'
   db 02h,24h,71h
data ends

stack segment
   dw 8 dup (0)
stack ends

code segment
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,10h
mov ax,0b872h
mov es,ax
f:
mov bx,0
mov si,0
mov di,0
mov cx,3

s:
push bx
push si
push cx
mov cx,16

so:
mov al,[bx]
mov ah,ds:10h[di]
mov es:[si],ax
add si,2
inc bx
loop so

pop cx
pop si
pop bx

add si,0a0h
inc di
loop s
jmp short f

mov ax,4c00h
int 21h

code ends
end start
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-6 18:33:45 | 显示全部楼层
我来看看。。。呵。我也才学到这里
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-11 13:10:38 | 显示全部楼层
学习一下啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-11 19:55:30 | 显示全部楼层
才看到第二章,还不大看得懂你写的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-11 20:14:06 | 显示全部楼层
支持楼主...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-19 00:14:16 | 显示全部楼层
翻出来我曾经写过的,写的很臭,发上来献丑吧
  1. assume CS:code,DS:data,SS:stack
  2. ;编程:在屏幕中间分别显示绿色,绿底红色,白底蓝色的字符串'welcome to masm!'
  3. ;绿字是00001010B        绿底红字是00101100B        白底蓝字是01110001B
  4. ;每行是160个字节,就是0A0H个字节
  5. data SEGMENT
  6.         db 'welcome to masm!'
  7.         db 00000010B,00100100B,01110001B
  8. data ENDS

  9. stack SEGMENT
  10.         dw 0
  11. stack ENDS

  12. code SEGMENT
  13. start:                MOV        AX,data
  14.                 MOV        DS,AX
  15.                 MOV        AX,0B800H
  16.                 MOV        ES,AX
  17.                 MOV        AX,STACK
  18.                 MOV        SS,AX
  19.                 MOV        SP,2

  20.                 XOR        BX,BX
  21.                 MOV        AX,' '
  22.                 MOV        CX,80*25
  23. setdisplay:        MOV        ES:[BX],AX
  24.                 ADD        BX,2
  25.                 LOOP        setdisplay        ;-------->完成清屏
  26.        
  27.                 MOV        CX,3
  28.                 MOV        BP,10H
  29.                 XOR        DI,DI
  30. strSide:        PUSH        CX        ;外层循环3次,为了写入3行字符串

  31.                 XOR        SI,SI
  32.                 MOV        CX,10H
  33. strIn:                XOR        BX,BX
  34.                 MOV        AL,[BX+SI]
  35.                 MOV        AH,DS:[BP]
  36.                 MOV        ES:[BX].720H[DI],AX        ;写入的位置,第一行字符串的起始处就是720H这个位置
  37.                 INC        SI        ;SI是读取DS段的指针.每次增加1
  38.                 ADD        DI,2        ;DI是写入指针,一次写入一个字,所以每次+2
  39.                 LOOP        strIn        ;内层循环16次,这16次的循环就是完成一行字符串的写入
  40.        
  41.                 INC        BP        ;颜色值增加
  42.                 ADD        DI,80H        ;DI增加80H就是换一行
  43.                 POP        CX
  44.                 LOOP        strSide
  45.        
  46.                 MOV        AX,4c00h
  47.                 INT        21h       
  48. code ENDS
  49. END start
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-19 00:16:45 | 显示全部楼层

你这个错误就在于jmp short f这句,我没细看,但是我觉得这句明显有错,jmp 总是跳过去,没有结束跳转的条件,死循环了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-13 14:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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