如何实现产值分段,采用的典型指令是什么?

来源:百度知道 编辑:UC知道 时间:2024/09/19 16:43:01
DATA SEGMENT
JDCZ DB 20,30,15,10,20,28,22,25,25,20,15,27,10,20,15,10
CZ DB 75,95,87,55
F1 db’100>$’
F2 db’90>$’
F3 db’80>$’
F4 db’60>$’
F5 db’>=90 1$’
F6 db’>=80 1$’
F7 db’>=60 1$’
F8 db’ 1$’ ;
F9 db’ ZCZ=312$’
DATA ENDS
STACK SEGMENT STACK
DW 500 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS;CODE,DATA,SS;STACK
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX; 将数据载入寄存器
CALL WWB; 调用子程序WWB
Mov dl,20h
Mov ah,2
Int 21h
Mov dl,0dh
Int 21h
Mov dl,0dh
Int 21h; 转行
LEA SI,cz; 将CZ数据首地址存入SI
Call zsc
Mov ah,4ch
Int 21h; 终断程序
MAIN ENDP; 数字输出子程序
Shuzi proc near
Mov b1.10d
Mov cx,2
lp:mov ah,0
div bl
mov dl,ah
push dx
loop lp
mov cx,2
mov ah,2
ye: pop dx
add dl.30h
int 21h
loop ye
ret
shuzi endp:数据矩阵输出子程序
WWB proc nea

可以通过在程序的main()函数中添加形式参数来接收程序在启动时从命令行中获得的各个命令行参数,包括:程序名称、路径、当前环境变量和用户指定参数等。命令行参数由启动程序截获并传递给main()。

一个典型的命令行例子如:

Mycopy srcFile destFile

一个典型的main()例子如:

int main( int argc, char *argv[ ] , char *envp[ ] );

argc

指示数组指针argv中包含的参数个数,该整数总是大于等于1。

argv

一个以NULL以为的字符串数组,存储用户输入的命令行参数。按照惯例,argv[0]为程序调用的命令,如c:\mycopy.exe;argv[1]为第一个命令行参数,直到argv[argc-1];argv[argc]总是NULL。

envp

存储执行当前程序的用户环境变量

#include<stdio.h>

int main(int argCount,char * argValue[], char * envp[])

{

FILE* srcFile = 0, *destFile =0;

int ch = 0;

int i = 0;

if (argCount != 3){

printf("Usage:%s src-file-name dest-file-name\n",argValue[0]);

}else{

if((srcFile = fopen(argValue[1],"r")) == 0){

printf("Can not open source file\"%s\"!&