Outils pour utilisateurs

Outils du site


back2root:archives:denthor:part-14

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
back2root:archives:denthor:part-14 [2021/09/02 15:38] – créée fraterback2root:archives:denthor:part-14 [2021/09/02 16:01] (Version actuelle) – [PART 14 : Glenzing and faster Polygons] frater
Ligne 7: Ligne 7:
 I'll go through them in order, and hopefully you won't have any hassles grasping the concepts. By the way, do any of you read the text files? I find myself answering questions via E-Mail etc. that were discussed in the text sections of the trainers ... oh well, I'll just ramble along anyway ;-) I'll go through them in order, and hopefully you won't have any hassles grasping the concepts. By the way, do any of you read the text files? I find myself answering questions via E-Mail etc. that were discussed in the text sections of the trainers ... oh well, I'll just ramble along anyway ;-)
  
-Please dont send any mail to smith9@batis.bis.und.ac.za anymore ... I don't know for how much longer the account will be valid (How can a non-BIS person get onto the BIS UNIX machine in the BIS2 directory? If his name is Denthor I suppose ;-) Oh well, I got about 8 months use out of it. The account expires on Christmas day anyway...) So anyway, please leave all messages to denthor@beastie.cs.und.ac.za+Please dont send any mail to smith9@batis.bis.und.ac.za anymore ...  
 +I don't know for how much longer the account will be valid (How can a non-BIS person get onto the BIS UNIX machine in the BIS2 directory? If his name is Denthor I suppose ;-) Oh well, I got about 8 months use out of it. The account expires on Christmas day anyway...) So anyway, please leave all messages to denthor@beastie.cs.und.ac.za
                                                                                                      
 <code> <code>
Ligne 181: Ligne 182:
 In the sample program I used one or two assembler commands that I havent discussed with you ... here they are ... In the sample program I used one or two assembler commands that I havent discussed with you ... here they are ...
  
-| <code asm>imul  value</code>         | This is the same as mul, but for integer values. It multiplies ax by the value. If the value is a word, it returns the result in DX:AX                                                  +| <code asm>imul  value</code>          | This is the same as mul, but for integer values. It multiplies ax by the value. If the value is a word, it returns the result in DX:AX                                                                                                                                                                                                                     
-| <code asm>sal  register,value</code> | This is the same as shl, but it is arithmetic, in other words it works on integers. If you had to shl a negative value, the result would mean nothing to you.                           +| <code asm>sal  register,value</code>  | This is the same as shl, but it is arithmetic, in other words it works on integers. If you had to shl a negative value, the result would mean nothing to you.                                                                                                                                                                                              
-| <code asm>rcl  register,value</code> | This is the same as shl, but after you have shifted, the value in the carry flag is placed in the now-vacated rightmost bit. The carry flag is set when you do an operation where the result is greater then the upmost possible value of the variable (usually 65535 or 32767) <code pascal> +| <code asm>rcl  register,value</code>  | This is the same as shl, but after you have shifted, the value in the carry flag is placed in the now-vacated rightmost bit. The carry flag is set when you do an operation where the result is greater then the upmost possible value of the variable (usually 65535 or 32767)<code pascal>mov ax,64000 
-                          eg mov ax,64000 +shl ax,1     {<- Carry flag now = 1}</code>  |
-                             shl ax,1     {<- Carry flag now = 1} +
-                           </code>| +
-                              +
-For more info on shifting etc, re-read tut 7, it goes into the concept in detail.+
  
 The sample program is basically Tut 9 rewritten. To see how the assembler stuff is working, do the following ... Go into 50 line mode (-Much- easier to debug), then hit [Alt - D] then R. A little box with all your registers, segments etc and their values will pop up. Move it down to where you want it, then go back to the program screen (Hit Alt and it's number together), and resize it so that you have both it and the register box onscreen at once (Alt - 5 to resize) ... then use F4, F7 and F8 to trace though the program (you know how). The current value of the registers will always be in that box. The sample program is basically Tut 9 rewritten. To see how the assembler stuff is working, do the following ... Go into 50 line mode (-Much- easier to debug), then hit [Alt - D] then R. A little box with all your registers, segments etc and their values will pop up. Move it down to where you want it, then go back to the program screen (Hit Alt and it's number together), and resize it so that you have both it and the register box onscreen at once (Alt - 5 to resize) ... then use F4, F7 and F8 to trace though the program (you know how). The current value of the registers will always be in that box.
back2root/archives/denthor/part-14.1630589932.txt.gz · Dernière modification : 2021/09/02 15:38 de frater