- [assumechen] 呵呵,我把程序搞复杂了。谢谢! 07/12 23:58
- [fpamc] MOV BX,AX MOV AX,DX MOV DX,0 07/11 23:26
- [assumechen] 这个公式原来一直想不明白,总是觉得会溢出,直到看到这个贴子才转过来。 http://www.asm 07/11 21:19
- [assumechen] 谢谢! 07/11 21:16
- [fpamc] 对的。 07/09 23:04
- [assumechen] 谢谢 06/30 22:34
- [assumechen] 谢谢 06/30 22:33
- [fpamc] 对的。 06/30 10:26
- [fpamc] 恩对的, 06/30 10:24
- [assumechen] 是程序错了,把这一句: mov word ptr es:[0dH],ax ; 雇员的平 06/29 14:45
[2019-03-31 17:13] 课程设计1
assume cs:code, ds:data, ss:stack
data segment
db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982'
db '1983', '1984', '1985', '1986', '1987', '1988', '1989', '1990'
db '1991', '1992', '1993', '1994', '1995'
; 以上表示21个年份的字符串 0 - 83
dd 16,22,382,1...
data segment
db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982'
db '1983', '1984', '1985', '1986', '1987', '1988', '1989', '1990'
db '1991', '1992', '1993', '1994', '1995'
; 以上表示21个年份的字符串 0 - 83
dd 16,22,382,1...
阅读全文 |
评论次数(0) |
浏览次数(354) |
所属类型(汇编作业)
[2013-04-01 16:11] 实验14的实现
assume cs:code
code segment
; 要格式化的字符串
s1: db 32h,30h,0,0,'/',0,0,'/',0,0,' ',0,0,':',0,0,':',0,0,'$'
; CMOS日期部分的参数
s2: db 9,8,7,4,2,0
; 要格式化的字符串中变量的偏移地址
s3: db 2,5,8,11,14,17
start:
; 秒:0 2:分 4:时 7:日 8:月 年:9
; 以"年/月/日 时:分:秒"的格式
; bx,di,si,cx
mov ax,cs
mov ds, ax
mov di, of...
code segment
; 要格式化的字符串
s1: db 32h,30h,0,0,'/',0,0,'/',0,0,' ',0,0,':',0,0,':',0,0,'$'
; CMOS日期部分的参数
s2: db 9,8,7,4,2,0
; 要格式化的字符串中变量的偏移地址
s3: db 2,5,8,11,14,17
start:
; 秒:0 2:分 4:时 7:日 8:月 年:9
; 以"年/月/日 时:分:秒"的格式
; bx,di,si,cx
mov ax,cs
mov ds, ax
mov di, of...
阅读全文 |
评论次数(0) |
浏览次数(537) |
所属类型(汇编作业)
[2013-03-29 23:42] 将word型数据转变为表示十进制数的字符串,字符串以0为结尾
; 名称:dtoc
; 功能:将word型数据转变为表示十进制数的字符串,字符串以0为结尾符
; 参数:(dx)=dword型数据的高16位
; (ax)=dword型数镜的低16位
; ds:si指向字符串的首地址
; 返回:无
dtoc:
PUSH DX
PUSH BX
PUSH AX
PUSH SI
push cx
push di
; 在子程序中使用栈时,要把主程序的栈暂存起来
; 在子程序返回前要把栈设置为主程序的栈
; 换栈可以用寄存器保存或者用栈来实现
mov bx,ss
mov di,sp
MOV dx,...
; 功能:将word型数据转变为表示十进制数的字符串,字符串以0为结尾符
; 参数:(dx)=dword型数据的高16位
; (ax)=dword型数镜的低16位
; ds:si指向字符串的首地址
; 返回:无
dtoc:
PUSH DX
PUSH BX
PUSH AX
PUSH SI
push cx
push di
; 在子程序中使用栈时,要把主程序的栈暂存起来
; 在子程序返回前要把栈设置为主程序的栈
; 换栈可以用寄存器保存或者用栈来实现
mov bx,ss
mov di,sp
MOV dx,...
阅读全文 |
评论次数(0) |
浏览次数(527) |
所属类型(汇编作业)
[2012-07-11 21:18] 实验10:divdw的实现
assume cs:code
code segment
start:
mov ax,4240H
mov dx,000FH
mov cx,0AH
call divdw
mov ax,4c00H
int 21H
; 名称: divdw
; 功能: 进行不会溢出的除法运算
; 参数:(ax)=dword型数据的低16位
; (dx)=dword型数据的高16位
; (cx)=除数
; 返回 (dx)=结果的高16位,(ax)=结果的低16位
; (cx)=余数
; 公式: X/N = INT(H/N)*65536 + [REM(H/N)*65...
code segment
start:
mov ax,4240H
mov dx,000FH
mov cx,0AH
call divdw
mov ax,4c00H
int 21H
; 名称: divdw
; 功能: 进行不会溢出的除法运算
; 参数:(ax)=dword型数据的低16位
; (dx)=dword型数据的高16位
; (cx)=除数
; 返回 (dx)=结果的高16位,(ax)=结果的低16位
; (cx)=余数
; 公式: X/N = INT(H/N)*65536 + [REM(H/N)*65...
阅读全文 |
评论次数(3) |
浏览次数(814) |
所属类型(汇编作业)
[2012-07-09 17:23] 实验10:显示字符串
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start:
mov dh,24
mov dl,0
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00H
int 21H
; 名称:show_str
; 功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串
; 参数: (DH)=行号(取值范围为0-24);
; (DL)=列号(取值范围为...
data segment
db 'Welcome to masm!',0
data ends
code segment
start:
mov dh,24
mov dl,0
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00H
int 21H
; 名称:show_str
; 功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串
; 参数: (DH)=行号(取值范围为0-24);
; (DL)=列号(取值范围为...
阅读全文 |
评论次数(2) |
浏览次数(825) |
所属类型(汇编作业)
[2012-06-29 22:49] 检测点9.3
检测点9.3
补全编程,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start: mov ax,2000H
mov ds,ax
mov bx,0
s: mov cl,[bx]
mov ch,0
inc cx ;补充的指令
inc bx
loop s
ok: dec bx
mov dx,bx
mov ax,4c00H
int 21H
code ends
end start...
补全编程,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start: mov ax,2000H
mov ds,ax
mov bx,0
s: mov cl,[bx]
mov ch,0
inc cx ;补充的指令
inc bx
loop s
ok: dec bx
mov dx,bx
mov ax,4c00H
int 21H
code ends
end start...
阅读全文 |
评论次数(2) |
浏览次数(841) |
所属类型(汇编作业)
[2012-06-29 22:48] 检测点9.2
检测点9.2
补全编程,利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start: mov ax,2000H
mov ds,ax
mov bx,0
s: mov cl,[bx] ; 要补充的指令1
mov ch,0 ; 要补充的指令2
jcxz ok ; 要补充的指令3
inc bx ;要补充的指令4
jmp short s
ok: mov dx,bx
mov ax,4c00H
int 21H
code ends...
补全编程,利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start: mov ax,2000H
mov ds,ax
mov bx,0
s: mov cl,[bx] ; 要补充的指令1
mov ch,0 ; 要补充的指令2
jcxz ok ; 要补充的指令3
inc bx ;要补充的指令4
jmp short s
ok: mov dx,bx
mov ax,4c00H
int 21H
code ends...
阅读全文 |
评论次数(0) |
浏览次数(415) |
所属类型(汇编作业)
[2012-06-29 22:45] 检测点9.1
检测点9.1
(1)程序如下:
assume cs:code, ds:data
data segment
db ? ; (1)
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
jmp word ptr ds:[bx+1]
mov ax,4c00H
int 21H
code ends
end start
若要使程序中的jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?
答:(1) db 0,0,0
(2)...
(1)程序如下:
assume cs:code, ds:data
data segment
db ? ; (1)
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
jmp word ptr ds:[bx+1]
mov ax,4c00H
int 21H
code ends
end start
若要使程序中的jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?
答:(1) db 0,0,0
(2)...
阅读全文 |
评论次数(2) |
浏览次数(707) |
所属类型(汇编作业)
[2012-06-29 08:02] 实验7的实现
assume cs:code, ds:data
data segment
db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982', '1983'
db '1984', '1985', '1986', '1987', '1988', '1989', '1990', '1991', '1992'
db '1993', '1994', '1995'
; 以上表示21个年份的字符串 0 - 83
dd 16,22,382,1356,2390,8000,16000,24486,50065,9747...
data segment
db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982', '1983'
db '1984', '1985', '1986', '1987', '1988', '1989', '1990', '1991', '1992'
db '1993', '1994', '1995'
; 以上表示21个年份的字符串 0 - 83
dd 16,22,382,1356,2390,8000,16000,24486,50065,9747...
阅读全文 |
评论次数(4) |
浏览次数(574) |
所属类型(汇编作业)
页码数(1):
1