汇编语言一道编程题,谢谢

日期:2012-12-28 22:28:19 人气:1

汇编语言一道编程题,谢谢

为防抽,加一行汉字:程序如下: dseg segment Array DW 127FH,6786H,234EH, 96 dup (0),0FFFFH org 0500h max DW ? min DW ? dseg ends cseg segment assume ds:dseg, cs:cseg start: mov ax, dseg mov ds, ax lea bx, Array mov cx, 99 mov ax, [bx] mov max, ax mov min, ax add bx, 2 LoopFind: mov ax, [bx] cmp ax, max jbe Skip1 mov max, ax Skip1: cmp ax, min jae Skip2 mov min, ax Skip2: add bx, 2 loop LoopFind mov ah, 4ch int 21h cseg ends end start 在debug里运行到mov ah, 4ch这一句,然后用d ds:0500就能看到结果了。
    A+

一道汇编语言的程序编程题 谢谢啊

void swap(int *px,int *py) { int temp; temp=*px; *px=*py; *py=temp; } int main() { int a,b; a=10; b=20; printf("a=%d,b=%d\n",a,b); printf("Swapping...\n"); swap(&a,&b); printf("a=%d,b=%d\n",a,b); } swap(&a,&b);//将a和b的指针作为参数传递进swap,也就是int *px=&a,int *py=&b; { int temp;//定义临时变量temp temp=*px;//对px解除指针,也就是把a的值赋给temp *px=*py;//对px和py解除指针,也就是把b的值赋给a *py=temp;//对py解除指针,也就是把temp的值的赋给b }//结束 也可以用引用做同样的事 void swap(int &rx,int &rb) { int temp; temp=rx; rx=rb; rb=temp; } int main() { int a=10,b=20; int &ra=a,&rb=b; printf("a=%d,b=%d\n",a,b); printf("Swapping...\n"); swap(ra,rb); printf("a=%d,b=%d\n",a,b); }//对引用进行操作就相当于对引用指向的变量操作 如果用实参的话,不起作用 void swap(int a,int b) { int temp; temp=a; a=b; b=temp; } int main() { int a=10,b=20; printf("a=%d,b=%d\n",a,b); printf("Swapping...\n"); swap(a,b); printf("a=%d,b=%d\n",a,b); }//a和b的值不会交换 因为传递进swap参与运算的a,b其实是main()函数中的a,b的副本,是swap中的临时变量,函数结束就消亡了。副本a,b发生改变,真身a,b不会改变

阅读全文

求一道51单片机编程题的程序,汇编语言,谢谢了

JISHI EQU 30H DATA0 EQU P0 TEN EQU P1.0 UNIT0 EQU P1.1 ORG 0000H ORG 0003H LJMP INP0 //interruter 0 ORG 000BH LJMP IT_T0 ORG 0013H LJMP INP1 //interruter1 ORG 0030H MAIN: MOV SP,#69H MOV JISHI,#0 MOV DATA0,#0FFH SETB TEN SETB UNIT0 MOV TMOD,#01H MOV TH0,# 0 MOV TL0,#0 SETB IT0 SETB IT1 SETB PX0 SETB PX1 SETB ET0 SETB EX0 SETB EX1 SETB EA CLR TR0 LOOP: LCALL DISPLAY LJMP LOOP INP0: CLR EA CLR TR0 SETB EA RETI INP1: CLR EA SETB TR0 SETB EA RETI IT_T0: PUSH ACC PUSH B CLR EA INC JISHI MOV A,JISHI CJNE A,#60,TIME0 MOV JISHI,#0 TIME0: POP B POP ACC SETB EA RETI DISPLAY: MOV A,JISHI MOV B,#10 DIV AB LCALL LOOKUP MOV DATA0,A CLR TEN SETB UNIT0 LCALL DELAY SETB TEN MOV A,B LCALL LOOKUP MOV DATA0,A CLR UNIT0 LCALL DELAY SETB TEN SETB UNIT0 RET LOOKUP: MOV DPTR,#TAB MOVC A,@A+DPTR RET DELAY: MOV R6,#0 DEL0: MOV R7,#0 DJNZ R7,$ DJNZ R6,DEL0 RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,89H,0F8H,80H,90H END 有部分问题的,自己查

阅读全文