| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > Проверьте код |
| Автор: serega721 16.5.2010, 10:08 | ||
| Программу написал но почему-то некомпилируется Суть написать программу определяющую,принадлежит ли точка F с координатами (x;y) заданной геометрической области.
;===================================== StackSG segment para STACK 'Stack' ; Stack segment dw 1024 dup (?) StackSG Ends ;===================================== DataSG Segment para 'Data' ; Data segment F dw ? //точка F1 dw 1 //фигура 1 F2 dw 1 //фигура 2 и.т.д F3 dw 1 F4 dw 1 F5 dw 1 F6 dw 1 F7 dw 1 F8 dw 1 x1 dw 1 y1 dw 10 x2 dw 13 y2 dw 10 x3 dw 13 y3 dw 8 x4 dw 14 y4 dw 8 x5 dw 14 y5 dw 1 x6 dw 2 y6 dw 1 x7 dw 2 y7 dw 3 x8 dw 1 y8 dw 3 x9 dw 3 y9 dw 9 x10 dw 12 y10 dw 9 x11 dw 12 y11 dw 5 x12 dw 7 y12 dw 5 x13 dw 7 y13 dw 4 x14 dw 12 y14 dw 4 x15 dw 12 y15 dw 2 x16 dw 3 y16 dw 2 x17 dw 3 y17 dw 6 x18 dw 8 y18 dw 6 x19 dw 8 y19 dw 7 x20 dw 3 y20 dw 7 x dw 2 //координаты где находится точка y dw 8 DataSG Ends ;===================================== CodeSG Segment para 'Code' ; Code segment BEGIN proc far assume ss:StackSG,cs:CodeSG,ds:DataSG push ds sub ax,ax push ax mov ax, DataSG mov ds, ax ;-------------------------------------- ; PROGRAM mov ax,x mov bx,y cmp ax,x1 //Проверяем 1 фигуру jge m1 mov F1,0 m1:cmp ax,x9 jle m2 mov F1,0 m2:cmp bx,y8 jge m3 mov F1,0 m3:cmp bx,y1 jle m4 mov F1,0 m4: cmp ax,x9 jge m5 mov F2,0 m5: cmp ax,x10 jle m6 mov F2,0 m6: cmp bx,y10 jle m7 mov F2,0 m7: cmp bx,y2 jle m8 mov F2,0 m8: cmp ax,x10 jge m9 mov F3,0 m9: cmp ax,x2 jle m10 mov F3,0 m10: cmp bx,y3 jle m11 mov F3,0 m11: cmp bx,y2 jle m12 mov F3,0 m12: cmp ax,x10 jge m13 mov F4,0 m13: cmp ax,x4 jle m14 mov F4,0 m14: cmp bx,y5 jle m15 mov F4,0 m15: cmp bx,y4 jle m16 mov F4,0 m16: cmp ax,x12 jge m17 mov F5,0 m17: cmp ax,x11 jle m18 mov F5,0 m18: cmp bx,y14 jle m19 mov F5,0 m19: cmp bx,y12 jle m20 mov F5,0 m20: cmp ax,x16 jge m21 mov F6,0 m21: cmp ax,x15 jle m22 mov F6,0 m22: cmp bx,y5 jle m23 mov F6,0 m23: cmp bx,y15 jle m24 mov,F6,0 m24: cmp ax,x7 jge m25 mov F7,0 m25: cmp ax,x16 jle m26 mov F7,0 m26: cmp bx,y6 jle m27 mov F7,0 m27: cmp bx,y7 jle m28 mov F7,0 m28: cmp ax,x20 jge m29 mov F8,0 m29: cmp ax,x19 jle m30 mov F8,0 m30: cmp bx,y17 jle m31 mov F8,0 m31: cmp bx,y20 jle m32 mov F8,0 m32: mov ax, F1 add ax, F2 add ax, F3 add ax, F4 add ax, F5 add ax, F6 add ax, F7 add ax, F8 mov F, ax ;-------------------------------------- ret BEGIN endp CodeSG Ends END BEGIN |
| Автор: iff 16.5.2010, 12:59 |
Что значит не компилируется? Компилятор должен сказать в каких строках ошибки. П.С. Я бы сделал циклом. Скорость думаю здесь не черезвычайно важна. Добавлено через 1 минуту и 28 секунд Кстате, не забывайте ваша программа только считает и ничего не выводит |