源程序:
.386
.model flat,stdcall
option casemap:none
.code
sub1 proc c var1,var2
mov eax,var1
mov ebx,var2
ret
sub1 endp
sub2 proc pascal var1,var2
mov eax,var1
mov ebx,var2
ret
sub2 endp
sub3 proc var1,var2
mov eax,var1
mov ebx,var2
ret
sub3 endp
start:
...
- [13697471313] 这书怎么会错,自己没搞清楚总说书错!真是的! 05/06 09:34
- [游客] mov bx,100(64h),好像书也是错的 04/16 19:55
- [游客] 在debug 里是默认十六进的,在源程序是默认10进制的,加多一个h就、行 04/16 19:52
- [ghosteye] 这样子应该可以 inc cx 或者 mov cx,1 04/16 15:30
- [ghosteye] 没有错,我还没有注意看,你够仔细的 04/16 15:26
- [billy_asm] 如果inc bx 能在jcxz ok之前,应该没有问题的. 题目却相反. 04/16 15:13
- [billy_asm] 对不起,上一次我也没看清ok标号后的dec bx 如果没有它,jcxz ok是没有问题的. 因为 04/16 15:11
- [ghosteye] and cl,11111111b ->jcxz ok 04/14 12:19
- [ghosteye] 欢迎加入汇编群:25617704 04/13 19:41
- [ghosteye] 欢迎加入汇编群:25617704 04/12 19:56
[2011-04-17 17:12] 32位汇编子程序测试各语言入栈次序
阅读全文 |
评论次数(0) |
浏览次数(575) |
所属类型(汇编小程序片段)
[2011-04-16 22:20] 刚在csdn论坛上回答的一个关于中断+ascii码判断的小程序
汇编编程问题:用键盘输入一个字符串x,若0<=x<=9,显示“ONE”,若A<=X<=Z,a<=x<=z,显示“two”,其他显示“three”
assume cs:code
data segment
a db 'one $'
b db 'two $'
c db 'three $'
data ends
code segment
start:
mov bx,data
mov ds,bx
mov dx,offset c
mov ah,1
int 21h
call newline
s:
cmp al,'0'
jb display
cm...
assume cs:code
data segment
a db 'one $'
b db 'two $'
c db 'three $'
data ends
code segment
start:
mov bx,data
mov ds,bx
mov dx,offset c
mov ah,1
int 21h
call newline
s:
cmp al,'0'
jb display
cm...
阅读全文 |
评论次数(0) |
浏览次数(624) |
所属类型(汇编小程序片段)
[2011-04-16 20:16] 统计输入字符串中数字和字母的个数及字符串的总长度
MLENGTH = 128
assume cs:code ds:data
data segment
BUFF DB MLENGTH
DB ?
DB MLENGTH dup(0)
MESS0 DB 'please input:$'
MESS1 DB 'Length = $'
MESS2 DB 'x = $'
MESS3 DB 'y = $'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov dx,offset MESS0
call displayString
mov ah...
assume cs:code ds:data
data segment
BUFF DB MLENGTH
DB ?
DB MLENGTH dup(0)
MESS0 DB 'please input:$'
MESS1 DB 'Length = $'
MESS2 DB 'x = $'
MESS3 DB 'y = $'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov dx,offset MESS0
call displayString
mov ah...
阅读全文 |
评论次数(0) |
浏览次数(568) |
所属类型(汇编小程序片段)
[2011-04-16 16:26] 用二进制形式显示从键盘输入的字符的ascii
assume cs:code
code segment
start:
mov ah,1
int 21h
call newline
mov bl,al ;输入的字符的ascii码
mov cx,8
next:
shl bl,1
mov dl,30h
adc dl,0
mov ah,2
int 21h
loop next
mov dl,'B'
mov ah,2
int 21h
mov ax,4c00h
int 21h
newline proc
push ax
push dx
mov dl,0dh ;回车符的...
code segment
start:
mov ah,1
int 21h
call newline
mov bl,al ;输入的字符的ascii码
mov cx,8
next:
shl bl,1
mov dl,30h
adc dl,0
mov ah,2
int 21h
loop next
mov dl,'B'
mov ah,2
int 21h
mov ax,4c00h
int 21h
newline proc
push ax
push dx
mov dl,0dh ;回车符的...
阅读全文 |
评论次数(0) |
浏览次数(525) |
所属类型(汇编小程序片段)
[2011-04-16 15:26] 三个数排序,减少寄存器的使用
assume cs:code ds:data
data segment
db 12,56,34
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0
mov al,ds:[si]
cmp al,ds:[si+1]
jae next1
xchg al,ds:[si+1]
next1:
cmp al,ds:[si+2]
jae next2
xchg al,ds:[si+2]
next2:
mov [si],al
mov al, ds:[si+1]
cmp ...
data segment
db 12,56,34
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0
mov al,ds:[si]
cmp al,ds:[si+1]
jae next1
xchg al,ds:[si+1]
next1:
cmp al,ds:[si+2]
jae next2
xchg al,ds:[si+2]
next2:
mov [si],al
mov al, ds:[si+1]
cmp ...
阅读全文 |
评论次数(0) |
浏览次数(529) |
所属类型(汇编小程序片段)
[2011-04-16 14:52] 三个数的排序(练习指令专用)
assume cs:code ds:data
data segment
db 12,56,34
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0
mov al,ds:[si]
mov bl,ds:[si+1]
mov cl,ds:[si+2]
cmp al,bl
jae next1
xchg al,bl
next1:
cmp al,cl
jae next2
xchg al,cl
next2:
cmp bl,cl
jae next3...
data segment
db 12,56,34
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0
mov al,ds:[si]
mov bl,ds:[si+1]
mov cl,ds:[si+2]
cmp al,bl
jae next1
xchg al,bl
next1:
cmp al,cl
jae next2
xchg al,cl
next2:
cmp bl,cl
jae next3...
阅读全文 |
评论次数(0) |
浏览次数(508) |
所属类型(汇编小程序片段)
[2011-04-15 00:50] 14章实验14:访问CMOS RAM
assume cs:code
data segment
db 9,8,7,4,2,0
db '// ::'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0
mov cx,6
mov di,0
s:
push cx
mov al,[bx]
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
ad...
data segment
db 9,8,7,4,2,0
db '// ::'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0
mov cx,6
mov di,0
s:
push cx
mov al,[bx]
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
ad...
阅读全文 |
评论次数(0) |
浏览次数(503) |
所属类型(汇编作业)
[2011-04-14 18:05] 13章实验13第一小题
assume cs:code
data segment
db 'welcome to masm!',0
data ends
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset start7c
mov ax,0
mov es,ax
mov di,200h
mov cx,offset over7c-offset start7c
cld
rep movsb
mov word ptr es:[124*4],200h
mov word ptr es:[124*4+2],0
...
data segment
db 'welcome to masm!',0
data ends
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset start7c
mov ax,0
mov es,ax
mov di,200h
mov cx,offset over7c-offset start7c
cld
rep movsb
mov word ptr es:[124*4],200h
mov word ptr es:[124*4+2],0
...
阅读全文 |
评论次数(0) |
浏览次数(537) |
所属类型(汇编作业)
[2011-04-14 16:46] 13章3小节,用7ch中断例程模仿实现loop指令功能,理解栈与中断的好例子
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset start7c
mov ax,0
mov es,ax
mov di,200h
mov cx,offset over7c-offset start7c
cld
rep movsb
mov word ptr es:[124*4],200h
mov word ptr es:[124*4+2],0
mov ax,0b800h
mov es,ax
mov di,160*1...
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset start7c
mov ax,0
mov es,ax
mov di,200h
mov cx,offset over7c-offset start7c
cld
rep movsb
mov word ptr es:[124*4],200h
mov word ptr es:[124*4+2],0
mov ax,0b800h
mov es,ax
mov di,160*1...
阅读全文 |
评论次数(0) |
浏览次数(564) |
所属类型(汇编作业)
[2011-04-14 13:31] 第十二章实验十二,改写0号中断程序
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end-offset do0
cld
rep movsb
mov word ptr es:[0*4],200h
mov word ptr es:[0*4+2],0
mov ax,0
...
code segment
start: mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end-offset do0
cld
rep movsb
mov word ptr es:[0*4],200h
mov word ptr es:[0*4+2],0
mov ax,0
...
阅读全文 |
评论次数(0) |
浏览次数(554) |
所属类型(汇编作业)
『 查看更多文章 』