首页
社区
课程
招聘
[旧帖] [求助]RadAsm编译错误 0.00雪花
发表于: 2009-1-20 12:17 5200

[旧帖] [求助]RadAsm编译错误 0.00雪花

2009-1-20 12:17
5200
小弟为了巩固8086汇编,特在网上下了几个程序阅读,但用RadAsm编译都通不过,高手解释下。如:
D:\RadASM\Masm\Projects\SrcCode\案例1判断闰年程序\Ifleap.asm(35) : error A2006: undefined symbol : n
D:\RadASM\Masm\Projects\SrcCode\案例1判断闰年程序\Ifleap.asm(39) : error A2006: undefined symbol : y
D:\RadASM\Masm\Projects\SrcCode\案例1判断闰年程序\Ifleap.asm(18) : error A2004: symbol type conflict
D:\RadASM\Masm\Projects\SrcCode\案例1判断闰年程序\Ifleap.asm(102) : warning A4023: with /coff switch, leading underscore required

代码如下:
data segment    ;定义数据段
    infon db 0dh,0ah,'Please input a year: $'
    Y db 0dh,0ah,'This is a leap year! $'
    N db 0dh,0ah,'This is not a leap year! $'
    w dw 0
    buf db 8
        db ?
        db 8 dup(?)
data ends

stack segment stack
    db 200 dup(0)
stack ends

code segment
          assume ds:data,ss:stack,cs:code
    start:mov ax,data
          mov ds,ax
          
          lea dx,infon  ;在屏幕上显示提示信息
          mov ah,9
          int 21h

          lea dx,buf    ;从键盘输入年份字符串
          mov ah,10
          int 21h
          
          mov cl, [buf+1]
          lea di,buf+2
          call datacate
          call ifyears
          jc a1
          
          lea dx,n
          mov ah,9
          int 21h
          jmp exit
    a1:   lea dx,y
          mov ah,9
          int 21h
    exit: mov ah,4ch
          int 21h
       
 

 datacate proc near
          push cx;                                                       
          dec cx
          lea si,buf+2
     tt1: inc si
          loop tt1
          ;lea si,cx[di]
          pop cx
     
      
          mov dh,30h
          mov bl,10
          mov ax,1
      l1: push ax
          sub  byte ptr  [si],dh
          mul  byte ptr [si]
          add w,ax
          pop ax
          mul bl
          dec si
          loop l1
          ret
 datacate endp


   ifyears proc near
           push  bx
           push  cx
           push  dx
           mov ax,w
           mov   cx,ax
           mov  dx,0
           mov  bx,4
           div  bx
           cmp  dx,0
           jnz  lab1
           mov   ax,cx
           mov  bx,100
           div  bx
           cmp dx,0
           jnz  lab2
           mov  ax,cx
           mov bx,400
           div  bx
           cmp  dx,0
           jz  lab2
     lab1: clc
           jmp lab3
     lab2: stc
     lab3: pop  dx
           pop  cx
           pop  bx
           ret
   ifyears endp
code ends
   end start

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 508
活跃值: (89)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
最近把王爽的汇编看的差不多了,想找些比较好的代码阅读来加深一下,如果大侠有好的代码可以推荐一下,最好是适合我这种初学者的哈,谢谢
关注上述问题。。。
2009-1-20 12:20
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
又是大小写问题。RadAsm你双击错误,它可以自动定位到出错的那一行。仔细看一下错误提示不就明白了?
2009-1-20 13:14
0
雪    币: 508
活跃值: (89)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
谢谢楼上的提示,明白了
2009-1-20 14:11
0
雪    币: 508
活跃值: (89)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
看样我学汇编进入了一个误区,就是有问题就来看雪的误区,恩,还得要google
以后我会提高自己的提问质量的,谢谢各位
2009-1-20 14:22
0
游客
登录 | 注册 方可回帖
返回
//