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

汇编新手学习中,帮忙看一下是哪有有关问题

2012-03-30 
汇编新手学习中,帮忙看一下是哪有问题datarea segmentnumbers db 00h,09h,21h,12h,05h,54h,76h,11h,02h,90

汇编新手学习中,帮忙看一下是哪有问题
datarea segment
numbers db 00h,09h,21h,12h,05h,54h,76h,11h,02h,90h  
up db 100 dup(?)
down db 100 dup(?)
datarea ends

code segment
main proc far
assume cs:code,ds:datarea
start:
push ds
sub ax,ax
push ax

mov ax,datarea 
mov ds,ax

mov bx,0 ;后面用到
mov cx,10 ;把循环次数放入CX
mov al,42h
mov si,0 ;初始化SI 
;check用来实现查找功能
check:
cmp al,numbers[si]
inc si
ja store1 ;大于42H的数的个数存入UP
jb store2 ;小于42H的的数的个数存入DOWN中  
loop check ;相等继续循环

store1:
inc bl ;找到一个大于42 的数,BL值增加1
mov up,bl 
mov dl,up
mov ah,02
int 21h

store2:
inc bh
mov down,bh 
mov dl,down
mov ah,02
int 21h

ret

main endp
code ends
end start

[解决办法]
你遇到什么问题了?
[解决办法]
楼主把问题说出来呀
[解决办法]
1.store1 store2中,没有loop操作。
2.输出时,应将输出数字转化为对应的ascii码。
3.ja store1 ;大于42H的数的个数存入UP.在这里实际上存的是小于42H的数,应为比较的是cmp al,numbers[si]

热点排行