首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

汇编学的很差,希望帮忙解决下这个有关问题,小弟我自己也有编一个,但结果错了

2013-06-19 
汇编学的很差,希望帮忙解决下这个问题,我自己也有编一个,但结果错了。本帖最后由 wu199288 于 2013-06-05 1

汇编学的很差,希望帮忙解决下这个问题,我自己也有编一个,但结果错了。
本帖最后由 wu199288 于 2013-06-05 16:51:11 编辑 2.已知定义了一个DATA数据段DATA   SEGMENTV1  DB  3 , 6 , 4 , 8 , 9 , 5 , 12 , 7 , 2, 1      N   EQU  $ -V1      V2  DB  ?DATA  ENDS要求编写一个完整的代码段,在v1中查找数值9,并将它在数组中第一次出现的的序号(如1.2.3…)保存到v2中,如果没有的9,则v2=0。 
下面是我自己写的,但结果错了,怎么改呀
data segment
     v1 db 3,6,4,8,9,5,12,7,2,1
     N equ $-v1
     v2 db ?
data ends
code segment
     assume cs:code,ds:data
start:mov ax,data
      mov ds,ax
      mov si,N
loop1:cmp v1[si],09h
      jne skip
      mov v2,n
      mov ah,2
      int 21h
skip:inc si
     loop loop1
     mov v2,0
     mov ah,4ch
     int 21h
code ends
     end start 汇编
[解决办法]
inc si ???????????
[解决办法]
怎么跳出loop1???
[解决办法]
改了下调试成功。
data segment
     v1 db 3,6,4,8,9,5,12,7,2,1
     N equ $-v1
     v2 db ?
data ends
code segment
     assume cs:code,ds:data
start:mov ax,data
      mov ds,ax
      
      mov cx,n                ;
      
      mov si,0                ;
loop1:cmp v1[si],09h            
      jne skip
      inc si                  ;
      add si,30h              ;
      cmp si,39h              ;
      jbe s                   ;
      add si,7                ;


      
    s:                        ;
      mov dx,si               ;
      mov v2,dl               ;
      mov ah,2
      int 21h
      jmp s1
skip:inc si
     loop loop1
  s1:                              ;
     mov v2,0
  
   mov ah,0                  ;
   int 16h   ;
          
     mov ah,4ch
     int 21h
code ends
     end start 

热点排行