当前位置:首页 > 代码 > 正文

cfar代码(cfa全称)[20240423更新]

admin 发布:2024-04-23 18:04 149


今天给各位分享cfar代码的知识,其中也会对cfa全称进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

汇编 中push -1 和push 0是什么意思有等效的吗

这是一种最原始的dos下exe程序的框架。

start

proc

far

begin:

push

ds

mov

ax,0

push

ax

…………

ret

start

endp

那时候,dos的版本很低,dos还没有提供4ch号dos功能调用,结束程序只能用int

20h完成。

int

20h结束程序要能正确完成,有一个前提条件:要求执行时cs指向程序段前缀(psp)所在的段地址。

程序将主程序定义成远调用过程(proc

far),目的是让汇编程序

ret

指令汇编成远调用返回(retf)。

代码开始的三条指令是将ds(程序加载后ds指向psp段地址)入栈,再将0入栈。

这样,在程序开始运行时,首先在堆栈中存入了psp的段地址,和一个16位的0。这两个字构成一个远指针,指向的psp段、偏移地址为0处。

程序执行最后一条指令ret(实际上是retf远调用返回)的时候,从堆栈栈顶弹出两个字,这两个字也就是程序一开始的三条指令压入的内容,使得ret的返回地址是psp段偏移0处。

psp段偏移地址为0处,是一条int

20h指令。

这样,就实现了正确返回dos。

后来稍高一点版本的dos有了4ch号功能调用,就不需要这种程序框架了。

教科书上很多程序是抄来的,所以人们还常常会看到这种早就过时被淘汰了的代码。

如何用matlab实现CFAR识别灰度图像中的小目标

这个你得先搞清楚恒虚警率的原理,然后再写代码就简单了。说穿了就是二维窗口滑动,设定估计区保护区和检测区。每次滑动后,根据估计区设定判决门限,再对检测区的灰度进行门限下的二元判决

请高手把以下这段代码改成汇编语言 谢谢了吓

;输入20个数

;从小到大排序

;输出20个数

DATAS

SEGMENT

;此处输入数据段代码

MESS1

DB

'Input

20

numbers:','$'

MESS2

DB

'Numbers

after

sorted:','$'

MESS3

DB

'ERROR!Input

again!','$'

SEPR

DB

0DH,0AH,'$'

NUM

DW

20

DUP

(?)

DATAS

ENDS

STACKS

SEGMENT

;此处输入堆栈段代码

DW

40H

DUP

(?)

TOP

LABEL

WORD

STACKS

ENDS

CODES

SEGMENT

ASSUME

CS:CODES,DS:DATAS,ES:DATAS,SS:STACKS

MAIN

PROC

FAR

START:

MOV

AX,DATAS

MOV

DS,AX

MOV

ES,AX

MOV

AX,STACKS

MOV

SS,AX

LEA

SP,TOP

;此处输入代码段代码

MOV

AH,9

LEA

DX,MESS1

INT

21H

LEA

DX,SEPR

INT

21H

MOV

CX,LENGTH

NUM

LEA

DI,NUM

CLD

L1:

CALL

INPUT

;输入一个十进制有符号数

;LEA

DX,SEPR

;MOV

AH,9

;INT

21H

;输出分隔符

;

;MOV

DL,'

'

;MOV

AH,6

;INT

21H

LOOP

L1

MOV

CX,LENGTH

NUM

DEC

CX

LEA

SI,NUM

CLD

L2:

CALL

SORT

;冒泡排序,按从小到大排序

LOOP

L2

LEA

DX,SEPR

MOV

AH,9

INT

21H

;输出分隔符

MOV

AH,9

LEA

DX,MESS2

INT

21H

LEA

DX,SEPR

MOV

AH,9

INT

21H

;输出分隔符

MOV

CX,LENGTH

NUM

LEA

SI,NUM

CLD

L3:

;LEA

DX,SEPR

;MOV

AH,9

;INT

21H

;输出分隔符

CALL

OUTPUT

;输出一个十进制有符号数

MOV

DL,'

'

MOV

AH,6

INT

21H

LOOP

L3

MOV

AH,4CH

INT

21H

MAIN

ENDP

;传入参数:CX,比较次数;SI,数组起始位置;数组

;返回值:数组

;功能:将最大的数移到数组末尾

SORT

PROC

NEAR

PUSH

CX

PUSH

SI

L4:

LODSW

CMP

AX,[SI]

JNG

L5

XCHG

AX,[SI]

MOV

[SI-2],AX

L5:

LOOP

L4

POP

SI

POP

CX

RET

SORT

ENDP

;传入参数:DI,数字存储位置

;返回值:数组

;功能:输入一个-32768~32767之间的十进制有符号数,存储在数组对应位置上

INPUT

PROC

NEAR

PUSH

SI

PUSH

DX

MOV

SI,10

;进制数

XOR

DX,DX

;符号位

L6:

XOR

BX,BX

;最终的数字

MOV

AH,1

INT

21H

CMP

AL,'-'

JNE

L8

INC

DX

L7:

MOV

AH,1

INT

21H

CMP

AL,'

'

;输入一个空格或者回车则输入结束

JE

L10

CMP

AL,0DH

JE

L9

L8:

CMP

AL,'0'

JB

L0

CMP

AL,'9'

JA

L0

;非数字,则重新输入

AND

AX,0FH

XCHG

AX,BX

MUL

SI

JC

L0

;乘法溢出,则重新输入

ADD

BX,AX

JC

L0

;加法溢出,则重新输入

JMP

SHORT

L7

L9:

MOV

DL,0AH

MOV

AH,2

INT

21H

L10:

CMP

DX,0

JE

L11

NEG

BX

;求补码

L11:

MOV

AX,BX

STOSW

POP

DX

POP

SI

RET

L0:

;异常处理

MOV

AH,9

LEA

DX,SEPR

INT

21H

LEA

DX,MESS3

INT

21H

LEA

DX,SEPR

INT

21H

JMP

SHORT

L6

INPUT

ENDP

;传入参数:SI,数字存储位置

;返回值:数组

;功能:从存储位置上取出一个数,以十进制有符号数输出

OUTPUT

PROC

NEAR

PUSH

CX

PUSH

DI

MOV

DI,10

XOR

CX,CX

LODSW

MOV

BX,AX

TEST

BX,8000H

JZ

L12

MOV

DL,'-'

MOV

AH,2

INT

21H

DEC

BX

NOT

BX

L12:

MOV

AX,BX

L13:

XOR

DX,DX

DIV

DI

ADD

DX,30H

PUSH

DX

INC

CX

CMP

AX,0

JNE

L13

MOV

AH,2

L14:

POP

DX

INT

21H

LOOP

L14

POP

DI

POP

CX

RET

OUTPUT

ENDP

CODES

ENDS

END

START

汇编语言中proc far是什么意思

proc是子程序定义伪指令,

far是该子程序的属性,决定调用程序和子程序是否在同一代码段

如下:为子程序定义及说明,

子程序名

PROC

NEAR

(

FAR

)

……

ret

子程序名

ENDP

子程序名为符合语法的标识符

NEAR属性(段内近调用):

调用程序和子程序在同一代码段中,只能被相同代码段的其他程序调用;

FAR属性(段间远调用):

调用程序和子程序不在同一代码段中,可以被相同或不同代码段的程序调用.

汇编语言main proc far是什么意思

你说的大概是这么一种程序框架:

main

proc

far

push

ds

xor

ax,

ax

push

ax

......

ret

main

endp

end

main

这是一种最原始的dos下exe程序的框架。

那时候,dos的版本很低,dos还没有提供4ch号dos功能调用,结束程序只能用int

20h完成。

int

20h结束程序要求执行时cs指向程序段前缀(psp)所在的段地址。

所以,程序需要将主程序定义成远调用过程(proc

far),这样就会将

ret指令汇编成远调用返回(retf)。而代码开始的三条指令是将psp段地址入栈,再将0入栈。这样,执行ret的时候就会执行到psp段偏移地址为0处的一条int

20h指令,保证正确返回dos。

后来稍高一点版本的dos有了4ch号功能调用,就不需要这种程序框架了。

教科书上很多程序是抄来的,所以人们还常常会看到这种早就过时被淘汰了的代码。

cfar代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于cfa全称、cfar代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/369.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载