导航:首页 > 程序命令 > 命令行ax

命令行ax

发布时间:2022-06-05 09:49:28

㈠ AX寄存器在哪里

寄存器是cpu上的一块区域,不是软件,不能下载。它是为了使一些常用的运算使用的数据能够快些被读取,而设置的数据暂存区域。很少。

㈡ 汇编 语言实现在命令行参数中输入文件名打开文件感谢各位大神

以下是汇编编译的com文件执行外部程序的示例。供参考:
;***********************************************************
;*本程序由程序ASMPAS.EXE自动生成*
;*版权所有:lifangqing1997年2月7日*
;***********************************************************
code segment
org100h
assumecs:code
start: jmpBEGIN
nop
stackarea dw100p(?)
stacktop dw0
oldss dw?
oldsp dw?

loadp dw0
COM_OFSdw0080h
COM_SEGdw?
dw005ch
dw?
dw006ch
dw0
dw20p(?)

SHELL DB'C:COMMAND.COM',0

shell_PARAdb12,'/cshell.exe',13

UP_PARADB9,'/CUP.BAT',13
Q_U_PARADB7,'/CQUIT',13
L62_PARADB9,'/Cqbasic',13
L61_PARADB13,'/Cbasica.exe',13
L42_PARADB9,'/Cqbasic',13
L41_PARADB13,'/Cbasica.exe',13
L22_PARADB9,'/Cqbasic',13
L21_PARADB13,'/Cbasica.exe',13
CHAR DB?

ERR1MSGDB'CHANGEMEMERROR',10,13,'$'
ERR2MSGDB'EXECERROR',10,13,'$'

MENUADDDB'C:PAS_IDEmenu.EXE',0
;*****************CTRL_BREAK中断处理代码************
CTRL_BREAK:
IRET
;*****************正常及出错退出代码****************
;******************************************************************
ERROR:
MOVSS,OLDSS
MOVSP,OLDSP
int20h
;***************************************************************
;修改STACK和重新设置CTRL-BREAK向量
;****************************************************************
BEGIN:
PUSHCS
POPDS
MOVOLDSS,SS
MOVOLDSP,SP
MOVAX,CS
MOVSS,AX
MOVSP,OFFSETSTACKTOP
CALLCHANGEMEM
MOVAH,33H
MOVAL,1
MOVDL,0
INT21H
PUSHDS
MOVAX,0
MOVDS,AX
MOVSI,008CH
CLI
MOVWORDPTR[SI],OFFSETCTRL_BREAK
;原为将FF53放到DS:[SI]中
PUSHCS
POPAX
MOVWORDPTR[SI+2],AX
;原为将F000放到DS:[SI+2]中
STI
POPDS
;****************************************************************
;使数据段指向代码段
;清屏
;显示菜单
;取返回码,将其放入变量CHAR中
;****************************************************************
INIT:
PUSHCS
POPDS
PUSHCS
POPES

MOVAH,15
INT10H
MOVAH,0
INT10H

LEADX,SHELL
MOVWORDPTR[COM_OFS],OFFSETUP_PARA
PUSHCS
POPAX
MOVWORDPTR[COM_SEG],AX
CALLEXEC

menu:
LEADX,menuadd
MOVWORDPTR[COM_OFS],0
MOVWORDPTR[COM_SEG],0
CALLEXEC
movah,4dh
int21h
movbyteptrchar,al

;*************WriteCMOS**************
CMPBYTEPTRCHAR,62
JNENEXT62
LEADX,SHELL
LEAAX,L62_PARA
CALLRUN
JMPMENU
NEXT62:
;*************ReadCMOS**************
CMPBYTEPTRCHAR,61
JNENEXT61
LEADX,SHELL
LEAAX,L61_PARA
CALLRUN
JMPMENU
NEXT61:
;*************WriteDosBootSector**************
CMPBYTEPTRCHAR,42
JNENEXT42
LEADX,SHELL
LEAAX,L42_PARA
CALLRUN
JMPMENU
NEXT42:
;*************ReadDosBootSector**************
CMPBYTEPTRCHAR,41
JNENEXT41
LEADX,SHELL
LEAAX,L41_PARA
CALLRUN
JMPMENU
NEXT41:
;*************WriteMainBootRecord**************
CMPBYTEPTRCHAR,22
JNENEXT22
LEADX,SHELL
LEAAX,L22_PARA
CALLRUN
JMPMENU
NEXT22:
;*************ReadMainBootRecord**************
CMPBYTEPTRCHAR,21
JNENEXT21
LEADX,SHELL
LEAAX,L21_PARA
CALLRUN
JMPMENU
NEXT21:

CMPBYTEPTRCHAR,81
JNENEXT81
LEADX,SHELL
LEAAX,Q_U_PARA
CALLRUN
JMPERROR

NEXT81:
JMPMENU
;**************************************************************
;执行外部程序
;入口参数:
;DX-----路径文件名ASCZ串偏移
;AX-----命令行参数PASCAL串偏移
;**************************************************************
RUNPROCNEAR
LEADX,SHELL
MOVWORDPTR[COM_OFS],AX
PUSHCS
POPAX
MOVWORDPTR[COM_SEG],AX
CALLEXEC
RET
RUNENDP
;***********加载UCDOS及打印部分****************
UPPROCNEAR
LEADX,SHELL
MOVWORDPTR[COM_OFS],OFFSETUP_PARA
PUSHCS
POPAX
MOVWORDPTR[COM_SEG],AX
CALLEXEC
RET
UPENDP
;***********退出UCDOS****************
QUITPROCNEAR
LEADX,SHELL
MOVWORDPTR[COM_OFS],OFFSETQ_U_PARA
PUSHCS
POPAX
MOVWORDPTR[COM_SEG],AX
CALLEXEC
RET
QUITENDP
;*************************************************************
;执行子进程(路径文件名在DX中:入口参数)
;*************************************************************
EXEC PROCNEAR
PUSHCS
POPES
MOVBX,OFFSETLOADP
MOVAX,CS
MOV[BX+4],AX
MOV[BX+8],AX
MOV[BX+12],AX
MOVAX,4B00H
INT21H
JNCNO1
MOVAH,9
LEADX,ERR2MSG
INT21H
POPAX
POPAX
JMPERROR
NO1: RET
EXEC ENDP

;*************************************************************
;改变内存块大小
;*************************************************************
CHANGEMEM PROCNEAR
MOVAX,OFFSETTAIL
SHRAX,1
SHRAX,1
SHRAX,1
SHRAX,1
INCAX
PUSHCS
POPES
MOVBX,AX
MOVAH,4AH
INT21H
JNCNO2
MOVAH,9
LEADX,ERR1MSG
INT21H
POPAX
POPAX
JMPERROR
NO2:
RET
CHANGEMEM ENDP


TAIL:
CODE ENDS
ENDSTART

㈢ 用命令行注册ax

你是要注册 DirectShow 的Filter解码器吗当然可以使用 regsrv32 来注册。。。

㈣ 点击程序 运行,输入regsvr32 AX文件名 能干什么

regsvr32注册动态链接库的,比如dll文件。

㈤ 汇编语言两条指令 push ax push ds 执行后结果是什么

这三条是是压栈指令,把返回操作系统的入口压入堆栈,使用这方法,你的程序结束的地方一定有一条返回指令,而mov
ah,4ch
int
20h
这种方法是通过dos调用返回操作系统,他们的目的相同,只是用的方法不同,所以只要选一个就可以,现在用的比较多是后面一种

㈥ 汇编:用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。

ZF是零标志
CF是进位标志
AF是辅助进位标志
用R命令后会显示三行内容,第一行是AX,BX,CX,DX,以及SP,BP,SI,DI;第二行是段寄存器DS,ES,SS,CS以及指令指针IP,还有后面8个符号吧,两个字母一组,那就是标志位。一般是这样的:
第一个:NV(表示OF=0)、OV(表示OF=1)
第二个:UP(表示DF=0)、DN(表示DF=1)
第三个:DI(表示IF=0)、EI(表示IF=1)
第四个:PL(表示SF=0)、NG(表示SF=1)
第五个:NZ(表示ZF=0)、ZR(表示ZF=1)
第六个:NA(表示AF=0)、AC(表示AF=1)
第七个:PO(表示PF=0)、PE(表示PF=1)
第八个:NC(表示CF=0)、CY(表示CF=1)

㈦ excel 作图(多条折线) y=ax

按照你的描述,a有101个数,20.0、20.1、20.2......29.9、30.0
X有100个数,1、2、3、4.....99、100
1、如果你要他们同时显示出来,那就把a的数作为列,X的数作为行,它们两两相乘(ax),得出的值就是Y(Y=ax)。如:
1 2 3...............100
20.0 20.0 40.0 60.0.......... 2000
20.1 20.1 40.2 60.3........... 2010
20.2 20.2 40.4 60.6........... 2020
. . .
. . .
30.0 30.0 60.0 90.0 3000

得出上面的表格后,以X的值为X轴,Y的值为Y轴,a的值为系列,就可以画出多重折线。这个表格没什么意义,太大太乱了。
2、可以把a做为变量(保留上面表格的前两行,以20.0那个单元格设数据有效性),用数据有效性做成序列的形式筛选,选定了a的值,就会出现对应的直线。
3、运用数据透析表制图。

阅读全文

与命令行ax相关的资料

热点内容
c语言源编辑源程序编译 浏览:821
手里捏东西真的可以解压吗 浏览:265
编译原理画状态表 浏览:28
用echo命令产生下列输出 浏览:358
在内网如何访问服务器 浏览:959
java导入oracle数据库 浏览:132
坚朗内开内倒铝条算法 浏览:257
华为阅读新建文件夹 浏览:768
幻塔如何选择服务器 浏览:221
解压先把文件压到系统盘 浏览:822
access压缩和修复数据库 浏览:791
光纤交换机命令 浏览:513
白色桌放什么文件夹 浏览:295
分治算法思想 浏览:151
s曲线加减速算法 浏览:403
可编程序控制器原理及应用答案 浏览:457
小熊编程教程 浏览:911
word转换成pdf转换器免费下载 浏览:611
群体智能基本算法 浏览:373
可编程软件分为哪两种 浏览:343