汇编网首页登录博客注册
e56004474的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言

[2012-06-03 20:35] 子程序库与主程序的结合

;t8-10.txt
vector=16h
.model small
.stack 
.data
mess label byte
mess1 db 4 dup (0)
db ':'
mess2 db 4 dup (0)
db 0dh,0ah,24h
.code
extrn bhascs:far
start :mov ax,@data
mov ds,ax
mov ah,35h
mov al,vector
int 21h
push bx
mov ax,es
mov dx,offset mess1
call far ptr bhascs
pop ax
mo...
阅读全文 | 评论次数(1) | 浏览次数(638) | 所属类型(综合研究)

[2012-06-03 20:15] masm 建立库文件

masm 建立自己的库文件2007-12-24 16:137.6.2 建立库文件举例
lib.exe的使用

命令项的解释:

选项 含义 
+name 向库文件中加一个新的目标文件 
-name 从库文件中删除一个指定的目标文件 
-+name 用新的目标文件替换掉库文件中原有的目标文件 
*name 拷贝出指定的目标文件 
-*name 从库文件中移出指定的目标文件 

假设现有目标文件sub1.obj、sub2.obj和sub3.obj,要用它们建立库文件mylib.lib。可用下列方法来建立该库文件:

方法1:所有目标文件都准备好了,可一次性把它们加入到库...
阅读全文 | 评论次数(0) | 浏览次数(296) | 所属类型(综合研究)

[2012-06-03 15:36] 模块间的信息传递2

例6:(【80x86汇编语言程序设计教程(杨季文)】)page:296
=======================================================
;t8-9.asm
extrn getdate:far
public mess,mess1,mess2,year,month,day
dseg segment public
mess db 'current date is'
mess1 db 2 dup (?)
db '-'
mess2 db 2 dup (?)
db 0dh,0ah,'$'
year dw ?
month db ?
d...
阅读全文 | 评论次数(0) | 浏览次数(253) | 所属类型(综合研究)

[2012-06-03 13:10] 模块间的信息传递

;t8-8.asm
dseg segment public 'data'
mess db 'dos version is'
mess1 db ?
       db '.'
mess2 db 2 dup (?)
        db 0dh,0ah,'$'
        verm db 0
        vern db 0
        dseg ends
        
public verm,vern
extrn getver:far,todasc:far

cseg segment public 'code'
assume cs:cseg,ds:dseg
start:
mov ax,dseg
mov ds,ax ...
阅读全文 | 评论次数(0) | 浏览次数(269) | 所属类型(综合研究)

[2012-06-02 10:50] 模块间的转移3

点击查看原图
一个段最小为16字节。
注意call 0b71:0008  的段改变了。‘模块间的转移’前2篇的图,有张图的call 的段与偏移没有改变,我认为是 由于最终组合在一起的源程序太小了,t8-7与和t8-7ma一同个段内,所以call 的段与偏移没有改变.
这张图 的t8-7mb开始处为0b7b:0018,call 0b71:0008  的段改变了,是因为一个段最小为16字节,且它们不属于同个段,改变是正常的。
那为什么模块间的转移’前2篇的其中有张图,不属于同个段,但是
call的段地址并没有改变,也是因为一个段最小为16字节,目标在同个最小段内。 它们虽然理论上不是同个段组合,但是却在...
阅读全文 | 评论次数(0) | 浏览次数(256) | 所属类型(综合研究)

[2012-06-02 10:03] 模块间的转移2

点击查看原图
上图2

由于只能放一张图,只能分开发了。...
阅读全文 | 评论次数(1) | 浏览次数(592) | 所属类型(综合研究)

[2012-06-02 10:01] 模块间的转移

点击查看原图
上图...
阅读全文 | 评论次数(0) | 浏览次数(273) | 所属类型(综合研究)

[2012-06-01 15:42] 简化定义下的段名

简化定义下的段名:
.code                  段名TEXT
.fardata        段名far_data
.data                 段名DATA

        
例子:

.model large
.fardata        ;←——————
a equ 2
mess db 'hello,word!',0dh,0ah,24h
.stack

.code
start:
mov ax,@data        ;←——————
mov ds,ax

lea dx,mess
mov ah,9
int 21h
nop
mov ah,4ch
int 21h
end start

C:\>debug t1.e...
阅读全文 | 评论次数(0) | 浏览次数(274) | 所属类型(综合研究)

[2012-06-01 12:39] offset 段名

C:\>debug t1.exe
-r
AX=0000  BX=0000  CX=00A4  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=0B70  ES=0B70  SS=0B80  CS=0B87  IP=0000   NV UP EI PL NZ NA PO NC
0B87:0000 B81500        MOV     AX,0015
-u
0B87:0000 B81500        MOV     AX,0015
0B87:0003 8ED8          MOV     DS,AX
0B87:0005 ...
阅读全文 | 评论次数(0) | 浏览次数(291) | 所属类型(综合研究)

[2012-06-01 12:23] 段的完整定义(组合)

段的完整定义
一般的格式:
段名 segment [定位类型] [组合类型] ['类别']
...
段名 edns

=============================================
段名 [定位类型] [组合类型]相同,['类别']不同时,编译时提示'error A2024: Segment parameters are changed'。
;----------------------------------

段名 [定位类型] [组合类型]相同时,例子如下:
(data段和data_1段组合)

data segment        public...
阅读全文 | 评论次数(0) | 浏览次数(275) | 所属类型(综合研究)
页码数(1):  1