汇编中CSEG是什么意思啊

new_desheng 2007-04-20 10:24:37
CSEG AT 4000H
LJMP START
CSEG AT 4030H
如上 怎么个意思啊
...全文
1815 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
beijingbeerman 2007-04-26
  • 打赏
  • 举报
回复
czlyc006 2007-04-24
  • 打赏
  • 举报
回复
CSEG=C_SEG
代码段标签
可以随便写,换成XXX什么的都行
yueyuxiang9169 2007-04-22
  • 打赏
  • 举报
回复
cseg 应该是code segment吧,定义代码段。
应该也有DSEG
DSEG SEGMENT STR1 DB 0AH,0DH, '********************************************$' STR2 DB 0AH,0DH, '** **$' STR3 DB 0AH,0DH, '** welcome you ! **$' STR4 DB 0AH,0DH, '** **$' STR5 DB 0AH,0DH, '** this is programme of sizeyunshuan **$' STR6 db 0AH,0DH, '** **$' STR7 db 0AH,0DH, '** rang(-32768 to 32767) **$' STR8 DB 0AH,0DH, '** press p to exit ! **$' STR9 DB 0AH,0DH, '** maker:fishosoul·yu **$' STR10 DB 0AH,0DH, '********************************************',0AH,0DH,'$' SIGN1 DW 0 ;判断数字是否输入完毕 SIGN2 DW 0 ;判断括号是否配对 SIGN3 DW 0 ; NUMB DW 20H DUP(0) ;保存输入的数值 MARK DB 'A' ;保存输入的运算符 DB 10H DUP(0) ; ERROR DB 'YOUR INPUT ARE WRONG$' DSEG ENDS DISP MACRO M LEA DX,M MOV AH,9 INT 21H ENDM CHOICE MACRO ASC1,HAO1,HH ;宏定义,给运算符赋权值 CMP AL,ASC1 ; JNE OTHER&HAO1 ; MOV CH,HH ; JMP OTHER7 ; ENDM CSEG SEGMENT ; ASSUME CS:CSEG,DS:DSEG START: CALL CLEAR MOV AX,DSEG ; MOV DS,AX ; LEA DI,NUMB ; LEA SI,MARK ; DISP STR1 DISP STR3 DISP STR4 DISP STR5 DISP STR6 DISP STR7 DISP STR8 DISP STR9 DISP STR10 ;CALL CLEAR CALL CR ;disp error MOV AX,0 MOV DX,0 MOV BX,0 MOV CX,0 STA1 : CALL CR INPUT: MOV AH,1 ; INT 21H ; CMP AL,'P' JE J_SHU0 CMP AL,'p' JE J_SHU0 CMP AL,'=' ; JE PD ;是等号,进一步判断输入括号是否配对 CMP AL,28H ; JB INPUT ; CMP AL,39H ; JA INPUT ; CMP AL,2FH ;判断是数字还是符号 JBE JUD ;是符号转入响应操作 INC WORD PTR SIGN1 ;将数字标志位加一 SUB AL,30H ;将asc码转16进制 MOV AH,0 ; XCHG AX,[DI] ; MOV BX,10 ; MUL BX ; XCHG AX,[DI] ; ADD [DI],AX ; JMP INPUT ; PD: CMP WORD PTR SIGN2,0 ;判断配对标志位 JE JUD ; JMP BC ; JUD: CMP WORD PTR SIGN1,0 ;判断数值指针是否已经下移一位 JE FUH1 ; ADD DI,2 ; MOV WORD PTR SIGN1,0; FUH1: CALL ADVANCE ;判定优先级, CMP CH,5 ;判断输入的是否是左括号 JNE PY ;不是则判断输入的是否是右括号 INC WORD PTR SIGN2 ;是左括号,括号标志位1 MOV WORD PTR SIGN3,1; PY: CMP CH,1 ;判断输入的是否是右括号 JNE AGAIN ; DEC WORD PTR SIGN2 ;是右括号,括号标志位减1 AGAIN: CMP BYTE PTR[SI],'A';判断运算符存储区是否为空 JE SAVE ; CMP CH,[SI] ; JA SAVE ; CMP BYTE PTR[SI],'(' JNE YIDO DEC SI JMP INPUT YIDO: DEC SI ; MOV CL,[SI] ; CALL MATCH ;判断是什么运算符并进行相应的计算 ;DEC SI ; JMP AGAIN ; Z_Z: JMP INPUT J_SHU0: JMP J_SHU ; SAVE: CMP CH,0 ; JE OVER1 ; CMP CH,1 ; JE Z_Z ;“)”不保存,输入下一个数 INC SI ; MOV [SI],AL ; INC SI ; CMP CH,5 ; JNE GO_ON ; MOV CH,2 ;改变(的权值 GO_ON: MOV [SI],CH ; JMP INPUT ; BC: LEA DX,ERROR ; MOV AH,9 ; INT 21H ; JMP J_SHU ; OVER1: JMP OVER ; MATCH PROC ;子程序,进行相应的运算 PUSH AX ; XOR AX,AX XOR BX,BX CMP CL,2AH ;乘法运算 JNE NEXT1 SUB DI,2 XCHG BX,[DI] SUB DI,2 XCHG AX,[DI] IMUL BX MOV [DI],AX ADD DI,2 JMP FINISH NEXT1: CMP CL,2FH ;除法运算 JNE NEXT2 SUB DI,2 XCHG BX,[DI] SUB DI,2 XCHG AX,[DI] CWD IDIV BX MOV [DI],AX ADD DI,2 JMP FINISH NEXT2: CMP CL,2BH ;加法运算 JNE NEXT3 SUB DI,2 XCHG BX,[DI] SUB DI,2 ADD [DI],BX ADD DI,2 JMP FINISH NEXT3: CMP CL,2DH ;减法运算 JNE FINISH SUB DI,2 XCHG BX,[DI] SUB DI,2 SUB [DI],BX ADD DI,2 FINISH: POP AX RET MATCH ENDP ADVANCE PROC CHOICE 28H,1,5 ;( OTHER1: CHOICE 29H,2,1 ;) OTHER2: CHOICE 2AH,3,4 ;* OTHER3: CHOICE 2FH,4,4 ;/ OTHER4: CHOICE 2BH,5,3 ;+ OTHER5: CHOICE 2DH,6,3 ;- OTHER6: CHOICE 3DH,7,0 ;= OTHER7: RET ADVANCE ENDP ;***清屏*** clear proc near push ax push bx push cx push dx mov ah,06h mov al,00h mov ch,0 mov cl,0 mov bh,0fH mov dh,18H

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧