急!急!急!把伪指令换成真指令!非大虾勿进!
要求:把以下程序中的所有伪指令换成真指令!datarea SEGMENT ;
ADDr DW number
number DW 5
count DW ?
datarea ENDS
;************************************************************************
prognam SEGMENT ;
;------------------------------------------------------------------------
main PROC FAR
ASSUME CS:prognam, DS:datarea
start:
;set up stack for return
PUSH DS ;
SUB AX,AX ;
PUSH AX ;
;set ds register to current data segment
MOV AX , datarea ;
MOV DS , AX ;
;MAIN PART OF PROGRAM GOES HERE ;
MOV CX, 0 ;initialize C to 0
MOV BX, ADDr ;
MOV AX, [BX] ;put y in ax
repeat: TEST AX , 0ffffh ; test y
JZ exit ;if y=0, get exit
JNS shift ;if MSB=0, C unchangeed
INC CX ;else ,C=C+1
shift: SHL AX, 1 ;shift y one bit left
JMP repeat ; repeat
exit: MOV count , AX
RET ; return to dos
main ENDP
;----------------------------------------------------------------------------------
prognam ENDS
;**********************************************************************************
END start
真正的大虾们帮帮忙!
万分感谢!送分!
问题点数:0、回复次数:13Top
1 楼Areslee(懒虫易水)回复于 2003-07-04 09:41:54 得分 0
什么意思啊?Top
2 楼jerky(匿名)回复于 2003-07-04 12:42:04 得分 0
好像不是很难把
把它改为.com 程序格式
在将数据段的数据转移到寄存器中,充分利用寄存器
程序中有好多可以简化的地方啊
Top
3 楼Areslee(懒虫易水)回复于 2003-07-04 15:06:23 得分 0
什么叫把伪指令换成真指令?Top
4 楼teal(茶茶)回复于 2003-07-04 17:53:57 得分 0
什么指令是真指令?楼主能不能举一两个例子?Top
5 楼zuolihua(纷华)回复于 2003-07-04 18:21:18 得分 0
真指令就是能看得见的指令,伪指令就是看不见的指令,呵呵,我说对了吧,楼主Top
6 楼cui(蚊子王)回复于 2003-07-04 21:14:02 得分 0
有些东西是不能转的,那是汇编语言固有的格式,比如end start,那是说,汇编文件到这里结束,并且指定程序入口,这个能用所谓的“真指令”代替?!Top
7 楼Ericlee0904(辛巴)回复于 2003-07-05 00:56:08 得分 0
简单的说:怎样把 ASSUME CS:prognam, DS:datarea 转成真指令!
在线!!!
Top
8 楼cui(蚊子王)回复于 2003-07-05 03:26:46 得分 0
一个字:晕Top
9 楼cui(蚊子王)回复于 2003-07-05 03:30:58 得分 0
ASSUME CS:prognam, DS:datarea 就和上面我说的end start一样,是给编译器看的,他本身最终没有生成任何机器代码。你怎么转换!?Top
10 楼giantzz(平庸无能的政府)回复于 2003-07-05 06:49:51 得分 0
转换成真指令后要干什么???Top
11 楼teal(茶茶)回复于 2003-07-05 08:43:54 得分 0
反汇编后的代码,里面没有尾指令了
Disassembly of File: C:\Documents and Settings\Administrator\桌面\EDIT2.EXE
Code Offset = 00000210, Code Size = 00000022
Data Offset = 00000000, Data Size = 00000000
Number of Objects = 0001 (dec), Imagebase = 00000000h
Object01: RVA: 00000000 Offset: 00000210 Size: 00000022 Flags: 00000000
Number of Imported Modules = 0 (decimal)
+++++++++++++++++++ IMPORT MODULE DETAILS +++++++++++++++
+++++++++++++++++++ EXPORTED FUNCTIONS ++++++++++++++++++
Number of Exported Functions = 0000 (decimal)
+++++++++++++++++++ ASSEMBLY CODE LISTING ++++++++++++++++++
//********************** Start of Code in Object BinaryCode **************
Program Entry Point = 0001:0000
//********************** Start of Code in Segment: 1 **************
//******************** Program Entry Point ********
:0001.0000 1E push ds
:0001.0001 2BC0 sub ax, ax
:0001.0003 50 push ax
:0001.0004 B80000 mov ax, 0000
:0001.0007 8ED8 mov ds, ax
:0001.0009 B90000 mov cx, 0000
:0001.000C 8B1E0000 mov bx, [0000]
:0001.0010 8B07 mov ax, [bx]
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0001.001C(U)
|
:0001.0012 A9FFFF test ax, FFFF
:0001.0015 7407 je 001E
:0001.0017 7901 jns 001A
:0001.0019 41 inc cx
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0001.0017(C)
|
:0001.001A D1E0 shl ax, 01
:0001.001C EBF4 jmp 0012
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0001.0015(C)
|
:0001.001E A30400 mov word ptr [0004], ax
:0001.0021 CB retf
看看这个事不是你想要的Top
12 楼BraveHeart2222(勇敢的心2222)回复于 2003-07-05 21:26:59 得分 0
真是无奇不有,有意思!!!Top
13 楼taoist(托巴厄斯-杀手47)回复于 2003-07-06 06:15:28 得分 0
关注Top




