assume cs:code,ss:stack
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:
mov ax,4240h;被除数低16位
mov dx,000fh;高16位
mov cx,0ah;除数
;公式:X/N=int(H/N)*65536+[rem(H/N)*65536+L]/N
;X:被除数,范围:[0,FFFFFFFF]
;N:除数,范围:[0,FFFF]
;H:X高16位,范围:[0,FFFF]
;L:X低16位,范围:[0,FFFF]
...


- [deep_sea] 非常受教育,非常好 12/17 14:57
- [tomato] 正确。 06/10 14:58
- [tomato] 没问题。 06/10 11:42
- [mywiil] 没问题。 06/08 10:11
- [lmze2000] 共勉之时 给予鼓励.一定会成功的 06/08 09:05
- [游客] 我记得原来上地理课上的一个词:可持续发展。听博主一席话,更坚定了我打好基础的信念,磨刀不误砍柴工! 06/02 16:28
- [游客] 社会制度的一种缺失,而返回来人们思想的缺失.. 06/02 16:26
- [游客] 社会制度的一种缺失,而返回来人们思想的缺失.. 06/02 16:26
- [younggay] 真是无奈,也真是可悲啊。 我本将心向明月,要是明月照了沟渠,真还没治。社会现象,要深思,深思啊。。 02/25 11:46
- [游客] 说的非常好! 02/24 11:38
[2009-06-10 10:29] 实验10 解决除法溢出问题
阅读全文 |
评论次数(1) |
浏览次数(846) |
所属类型(汇编作业)
[2009-06-09 19:31] 试验10 显示字符串
assume cs:code,ds:data,ss:stack
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
data segment
db 'welcome to masm!',0
data ends
code segment
start:
mov dh,8;行
mov dl,3;列
mov cl,2;颜色
mov ax,data
mov ds,ax
mov si,0
mov ax,stack
mov ss,ax
mov sp,16
call show_...
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
data segment
db 'welcome to masm!',0
data ends
code segment
start:
mov dh,8;行
mov dl,3;列
mov cl,2;颜色
mov ax,data
mov ds,ax
mov si,0
mov ax,stack
mov ss,ax
mov sp,16
call show_...
阅读全文 |
评论次数(1) |
浏览次数(765) |
所属类型(汇编作业)
[2009-06-07 21:26] 实验9
DATAS SEGMENT
db 'welcome to masm!'
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
mov ax,datas
mov ds,ax
mov ax,0b800h ;25*80显示模式下显存的起始段地址
mov es,ax
mov si,0720h ;显示器中间内存单元地址
mov bx,0
mov cx,16
...
db 'welcome to masm!'
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
mov ax,datas
mov ds,ax
mov ax,0b800h ;25*80显示模式下显存的起始段地址
mov es,ax
mov si,0720h ;显示器中间内存单元地址
mov bx,0
mov cx,16
...
阅读全文 |
评论次数(1) |
浏览次数(727) |
所属类型(汇编作业)
[2009-02-12 21:00] 检测点6.1
(1)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,写完程序:
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s:mov ax,[bx]
mov cs:[bx],ax ;根据程序要求,将寄存器ax的内容放入程序的开始处 ...
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s:mov ax,[bx]
mov cs:[bx],ax ;根据程序要求,将寄存器ax的内容放入程序的开始处 ...
阅读全文 |
评论次数(1) |
浏览次数(705) |
所属类型(汇编作业)
[2009-02-10 20:53] 实验4
(1)编程,向内存0:200~0:23F依次传送数据0~63
(2)编程,向内存0:200~0:23F依次传送数据0~63,程序中只能使用9条指令,9条指令包括"mov ax,4c00"和"int 21h"
答:
ASSUME CS:code
code SEGMENT
MOV AX,0020h
MOV DS,AX
MOV BX,0
MOV CX,40h
s: MOV [BX],BL
INC BL
LOOP s
MOV AX,4c00h
INT 21h
...
(2)编程,向内存0:200~0:23F依次传送数据0~63,程序中只能使用9条指令,9条指令包括"mov ax,4c00"和"int 21h"
答:
ASSUME CS:code
code SEGMENT
MOV AX,0020h
MOV DS,AX
MOV BX,0
MOV CX,40h
s: MOV [BX],BL
INC BL
LOOP s
MOV AX,4c00h
INT 21h
...
阅读全文 |
评论次数(2) |
浏览次数(822) |
所属类型(汇编作业)
[2009-02-07 11:33] 检测点3.2
(1)补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中.
答:
mov ax,1000H
mov ds,ax
mov ax,2000H
mov ss,ax
mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [a]
push [c]
push [e]
思路:入栈先减SP,然后取数据 所以SP的值为2000F+2=20010H,取偏移地址为0010H,SS的值为2000H
(2)(1)补全下面的程序,使其可以将10000H...
答:
mov ax,1000H
mov ds,ax
mov ax,2000H
mov ss,ax
mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [a]
push [c]
push [e]
思路:入栈先减SP,然后取数据 所以SP的值为2000F+2=20010H,取偏移地址为0010H,SS的值为2000H
(2)(1)补全下面的程序,使其可以将10000H...
阅读全文 |
评论次数(2) |
浏览次数(864) |
所属类型(汇编作业)
[2009-02-05 23:46] 检测点3.1
(1)在DEBUG中,用"d 0:0 1f"查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3C-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后先关寄存器中的值.
答:
mov ax,1
mov ds,ax
mov ax,[0000] AX=2662H
mov bx,[0001] BX=E626H
mov ax,bx AX=E626H
mov ax,...
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3C-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后先关寄存器中的值.
答:
mov ax,1
mov ds,ax
mov ax,[0000] AX=2662H
mov bx,[0001] BX=E626H
mov ax,bx AX=E626H
mov ax,...
阅读全文 |
评论次数(3) |
浏览次数(832) |
所属类型(汇编作业)
[2009-02-01 22:00] 检测点2.3
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP的值是多少?
mov ax,bx
sub ax,ax
jmp ax
答:CPU修改了4次IP的值。
情况如下:
第1次:执行完mov ax,bx后
第2次:执行完sub ax,ax后
第3次:读入jmp ax后
第4次:执行完jmp ax后
最后IP的值为0...
mov ax,bx
sub ax,ax
jmp ax
答:CPU修改了4次IP的值。
情况如下:
第1次:执行完mov ax,bx后
第2次:执行完sub ax,ax后
第3次:读入jmp ax后
第4次:执行完jmp ax后
最后IP的值为0...
阅读全文 |
评论次数(3) |
浏览次数(380) |
所属类型(汇编作业)
[2009-02-01 21:48] 检测点2.2
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH。
(2)有一数据存放在内从20000H单元中,现给定段地址为SA,若想用便宜地址寻到此单元。则SA应满足条件是:最小为1001H,最大为2000H。...
(2)有一数据存放在内从20000H单元中,现给定段地址为SA,若想用便宜地址寻到此单元。则SA应满足条件是:最小为1001H,最大为2000H。...
阅读全文 |
评论次数(4) |
浏览次数(352) |
所属类型(汇编作业)
[2009-02-01 21:45] 检测点2.1
(1)写出每条汇编指令执行后相关寄存器中的值
mov ax,62627 AX=F4A3H
mov ah,31H AX=31A3H
mov al ,23H AX=3123H
add ax,ax AX=6246H
mov bx,826CH BX=826CH
mov cx,ax CX=6246H
mov ax,bx AX=826CH
add ax,bx AX=04D8H
mov al,bh AX=0482H
mov ah,bl AX=...
mov ax,62627 AX=F4A3H
mov ah,31H AX=31A3H
mov al ,23H AX=3123H
add ax,ax AX=6246H
mov bx,826CH BX=826CH
mov cx,ax CX=6246H
mov ax,bx AX=826CH
add ax,bx AX=04D8H
mov al,bh AX=0482H
mov ah,bl AX=...
阅读全文 |
评论次数(2) |
浏览次数(361) |
所属类型(汇编作业)