- [dragon-zn] 1、 汇编语言程序载入内存后处于64K空间以外的数据和指令将无法使用和执行。(可用JMP指令跳转到6 10/19 15:41
- [游客] 很好,我做这个用了四个循环,现在想起来,冤 08/20 14:40
- [crazyman] 为了发展,还是从汇编这样的底层入手吧。 04/16 09:43
- [crazyman] 没什么好说的。 03/25 11:18
- [wsrf] 支持一下,呵呵 03/18 10:49
- [mengxinjinglong] 呵呵~这个我放心了,C语言我已经自学过了,到时候回家都会一起学习来巩固基础的额!汇编作业会在回家的时 12/24 12:04
- [younggay] 啊?!放假回来再交啊?!!! 到时候大家都开始学C了。 12/24 11:14
- [mouse] jmp指令 相对位移:-) 12/04 10:20
- [pascale] 我感觉你对第一题的第二问回答的不对。 我感觉是因为一个数据段的段名只是这个段的段地址而不是地址 12/04 00:20
- [younggay] 程序指令内存空间默认PSP后为程序入口地址, ------------ 不是psp开始为入口,加 11/21 13:27
[2009-03-24 19:48] 课程设计 1
偷偷懒,又回来交作业啦,虽然是学了后面,但是觉得还是不应该将后面的内容用的太多,现在交个小小的上来,请大家帮忙查看查看,有不足之处希望大家指点指点啊!!!程序如下:
assume cs:code
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'
dd 16,22,...
assume cs:code
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'
dd 16,22,...
阅读全文 |
评论次数(1) |
浏览次数(807) |
所属类型(汇编作业)
[2009-03-16 20:49] 实验14 访问CMOS RAM
喔喔 很久没有吧作业交上来了 现在补一份先。
assume cs:codesg
codesg segment
char db'// :: '
time db 9,8,7,4,2,0
start:mov cx,6
mov si,0
mov di,0
mov bx,0b800h
mov es,bx
s:push cx ;保护CX
mov al,time[si]
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,000011...
assume cs:codesg
codesg segment
char db'// :: '
time db 9,8,7,4,2,0
start:mov cx,6
mov si,0
mov di,0
mov bx,0b800h
mov es,bx
s:push cx ;保护CX
mov al,time[si]
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,000011...
阅读全文 |
评论次数(1) |
浏览次数(768) |
所属类型(汇编作业)
[2008-12-03 12:34] 实验8 分析一个奇怪的程序
-u
0b5a:0005 b80000 mov ax,0000
0b5a:0008 90 nop
0b5a:0009 90 nop
0b5a:000a bf0800 mov di,0008
0b5a:000d be2000 mov si,0020
0b5a:0010 2e cs:
0b5a:0011 8b04 mov ax,[si]
0b5a:0013 2e cs:
0b5a:0014 8905 mov [di],ax
0b5a:0016 ebf0 jmp 0008
0b5a:0018 b80000 mov ax,0000
0...
0b5a:0005 b80000 mov ax,0000
0b5a:0008 90 nop
0b5a:0009 90 nop
0b5a:000a bf0800 mov di,0008
0b5a:000d be2000 mov si,0020
0b5a:0010 2e cs:
0b5a:0011 8b04 mov ax,[si]
0b5a:0013 2e cs:
0b5a:0014 8905 mov [di],ax
0b5a:0016 ebf0 jmp 0008
0b5a:0018 b80000 mov ax,0000
0...
阅读全文 |
评论次数(1) |
浏览次数(854) |
所属类型(汇编作业)
[2008-11-10 17:54] 实验9 根据材料编程
一开始的程序是写成这样的,不过编译通过后跳出来的窗口却是一片抖动的字符,目前情况暂不明确,待仔细研究。
经过看书检查,发现问题如下:
assume cs:code
data segment
db'welcome to masm!'
db 2h,24h,71h
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov cx,3
mov si,17
mov bp,7c0h
...
经过看书检查,发现问题如下:
assume cs:code
data segment
db'welcome to masm!'
db 2h,24h,71h
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov cx,3
mov si,17
mov bp,7c0h
...
阅读全文 |
评论次数(1) |
浏览次数(722) |
所属类型(汇编作业)
[2008-11-09 10:30] 实验7 寻址方式在结构化数据访问中的应用
先写个这样的通用点的,待有比较好的程序时回头再改了,噢噢!!assume cs:codesg
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985'
db '1986','1987','1988','1989','1990','1991','1992','1993','1994','1995' ;以上表示21年的21个字符
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417...
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985'
db '1986','1987','1988','1989','1990','1991','1992','1993','1994','1995' ;以上表示21年的21个字符
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417...
阅读全文 |
评论次数(2) |
浏览次数(931) |
所属类型(汇编作业)
[2008-10-29 11:05] 实验五 编写、调试具有多个段的程序
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2] ...
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2] ...
阅读全文 |
评论次数(1) |
浏览次数(1387) |
所属类型(汇编作业)
[2008-10-25 10:26] 实验四
assume cs:code
(1)(2)两个小题本就是一题,所以就将它们一起做了,当然如果仅仅只是(1)的话,我们可以在中间用其他的一个寄存器存放数据来实现,但那样就增加了运行时间,就不提倡了.程序如下:
code segment
mov ax,20h
mov ds,ax
mov bx,0
mov cx,64
s:mov [bx],bl
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
(3)的程序:
assume cs:code
code segment
mov ax,cs
mo...
(1)(2)两个小题本就是一题,所以就将它们一起做了,当然如果仅仅只是(1)的话,我们可以在中间用其他的一个寄存器存放数据来实现,但那样就增加了运行时间,就不提倡了.程序如下:
code segment
mov ax,20h
mov ds,ax
mov bx,0
mov cx,64
s:mov [bx],bl
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
(3)的程序:
assume cs:code
code segment
mov ax,cs
mo...
阅读全文 |
评论次数(1) |
浏览次数(320) |
所属类型(汇编作业)
[2008-10-15 10:54] 第三章实验任务(1)
mov ax,ffff
mov ds,ax
mov ax,2200
miv ss,ax
mov sp,0100
mov ax,[0] ;ax=5BEA
add ax,[2] ;ax=5CCA
mov bx,[4] ;bx=30F0
add bx,[6] ;bx=6022
push ax ;sp=00FE,修改内存单元的地址是2200:00FE,内容是5CCA
push bx ;sp=00FC,修改内存单元的地址是2200:00FC,内容是6022
pop ax ;sp=00FE;ax=6022
pop bx ;sp=0100;ax=5CC...
mov ds,ax
mov ax,2200
miv ss,ax
mov sp,0100
mov ax,[0] ;ax=5BEA
add ax,[2] ;ax=5CCA
mov bx,[4] ;bx=30F0
add bx,[6] ;bx=6022
push ax ;sp=00FE,修改内存单元的地址是2200:00FE,内容是5CCA
push bx ;sp=00FC,修改内存单元的地址是2200:00FC,内容是6022
pop ax ;sp=00FE;ax=6022
pop bx ;sp=0100;ax=5CC...
阅读全文 |
评论次数(0) |
浏览次数(346) |
所属类型(汇编作业)
[2008-10-11 11:19] 第二章实验任务(4)
向地址A0000~BFFFF的内存单元中写数据,就是向显存中写入数据,这些数据会被显示卡输出到显示器上.
当我改变地址的时候(在A0000~BFFFF范围内),没有看见图片出现(当然只实验了一个),不知道这是为什么,同样在显存中写数据.
图片是我弄过的,本来都是显示在同一个位置的,为方便就放在了同一图片
刚才在看了别人的作业后又试了一下,发现奇数上的数据是对于图形的描述,eg:41H是大写字母'A'的ASCII码,则对应显示字符A,而偶数上的则是对图形的颜色的,01H蓝色,02H绿色,03H浅蓝色,04H红色,05H紫色,06H黄色,07H白色,08H灰色等等,当出现a0H,b0H时会出...
当我改变地址的时候(在A0000~BFFFF范围内),没有看见图片出现(当然只实验了一个),不知道这是为什么,同样在显存中写数据.
图片是我弄过的,本来都是显示在同一个位置的,为方便就放在了同一图片
刚才在看了别人的作业后又试了一下,发现奇数上的数据是对于图形的描述,eg:41H是大写字母'A'的ASCII码,则对应显示字符A,而偶数上的则是对图形的颜色的,01H蓝色,02H绿色,03H浅蓝色,04H红色,05H紫色,06H黄色,07H白色,08H灰色等等,当出现a0H,b0H时会出...
阅读全文 |
评论次数(1) |
浏览次数(383) |
所属类型(汇编作业)
[2008-10-11 10:32] 第二章实验任务(3)
对于寻找时间,我还是没有很明白怎么样寻找,只是当我看见出现数据
02/09/07时,我通过可以说是逐个显示,寻找到了的.
当我试图改变这个生产日期的时候,显示的仍然是02/09/07这个数据,是因为在地址C0000~FFFFF的内存单元中写入数据的操作书无效的,这等于改写只读存储器中的内容.
额额,哪位大哥看见了帮忙说教一下啊,在此谢过!!!!...
02/09/07时,我通过可以说是逐个显示,寻找到了的.
当我试图改变这个生产日期的时候,显示的仍然是02/09/07这个数据,是因为在地址C0000~FFFFF的内存单元中写入数据的操作书无效的,这等于改写只读存储器中的内容.
额额,哪位大哥看见了帮忙说教一下啊,在此谢过!!!!...
阅读全文 |
评论次数(1) |
浏览次数(392) |
所属类型(汇编作业)