Author Topic: assembly conversions  (Read 4753 times)

0 Members and 1 Guest are viewing this topic.

John

  • Hero Member
  • *****
  • Posts: 3966
Re: assembly conversions
« Reply #45 on: August 26, 2020, 04:19:42 pm »
Another long shot but does your functions enable explicit locks?

Brian Alvarez

  • Hero Member
  • *****
  • Posts: 699
    • PluriBASIC
Re: assembly conversions
« Reply #46 on: August 26, 2020, 06:26:43 pm »
The OPEN statement does support the syntax for: 

Code: [Select]
OPEN FILENAME fn$/HANDLE hn& FOR [BINARY/INPUT/OUTPUT/APPEND/RANDOM] [ACCESS READ/WRITE] [LOCK SHARED/READ/WRITE] [AS #FN] [LEN=recordsize] [BASE=base] [CHR= ANSI|WIDE]
 But i think i have not yet implemented the LEN functionality.
« Last Edit: August 26, 2020, 09:08:05 pm by Brian Alvarez »

John

  • Hero Member
  • *****
  • Posts: 3966
Re: assembly conversions
« Reply #47 on: August 27, 2020, 08:04:28 am »
Brian,

Can you attach your PluriBASIC benchmark code to a post?

I would like to see what you are testing.

Thanks!

Brian Alvarez

  • Hero Member
  • *****
  • Posts: 699
    • PluriBASIC
Re: assembly conversions
« Reply #48 on: August 28, 2020, 04:31:03 pm »
 I cant. My code is disassebled (pun intended) at the moment. I found some neat tricks i need to implement and i am doing so. Assembly will end up being awesome.
I am at the moment chasing a miscompatibility with Oxygen 2.9, i should retake oxygen soon.


John

  • Hero Member
  • *****
  • Posts: 3966
Re: assembly conversions
« Reply #49 on: August 28, 2020, 05:34:17 pm »
Let me know when you have a stable release of PluriBASIC to try.

Brian Alvarez

  • Hero Member
  • *****
  • Posts: 699
    • PluriBASIC
Re: assembly conversions
« Reply #50 on: August 28, 2020, 06:21:18 pm »
 I have one every full moon, but right now asm is dismantled and getting put together in a cool way.
I could make it work for this benchmark but i rather benchmark it with the full set of features.

 For example, did you know that in PB you can do...

Code: [Select]
! mov esi, mylongvar
And...

Code: [Select]
! mov esi, 2000
 And when you do this...

Code: [Select]
! mov mylongvar, esi
 Will act differently depending on what you stored in ESI?

 If a literal value was stored in esi, the literal value will be read. if a variable was stored in it, the value stored in the variable whose address is stored in esi will be set to mylongvar.

That is one cool feature! but how can the assembly know if a variable address or a literal value is stored in esi? Well... thats a story for another day!
« Last Edit: August 28, 2020, 06:31:42 pm by Brian Alvarez »

John

  • Hero Member
  • *****
  • Posts: 3966
Re: assembly conversions
« Reply #51 on: August 28, 2020, 07:48:28 pm »
When I look at ASM all I see is Brainfuck code. 🥴

Charles Pegge

  • Admin Support Member
  • *****
  • Posts: 4486
    • Oxygen Basic
Re: assembly conversions
« Reply #52 on: August 28, 2020, 08:59:19 pm »

https://software.intel.com/content/www/us/en/develop/articles/intel-sdm.html

Volume 2 of the 4-volume set provides an A..Z description of all the x86 instructions and their addressing modes. Very detailed.

Code: [Select]
'SOME ADDRESSING MODES
mov eax,2000 'immediate
mov eax,esi    'direct addressing
mov eax,[ebp] 'indirect addressing
mov eax,[ebp+4] ' indirect addressing with offset (used as variables)

Brian Alvarez

  • Hero Member
  • *****
  • Posts: 699
    • PluriBASIC
Re: assembly conversions
« Reply #53 on: August 28, 2020, 09:36:59 pm »

 WHat do you think of PowerBASIC's approach Charles?

Charles Pegge

  • Admin Support Member
  • *****
  • Posts: 4486
    • Oxygen Basic
Re: assembly conversions
« Reply #54 on: August 28, 2020, 10:11:27 pm »
It's based on standard Intel notation, but missing a few instructions, as I recall. I last used it about 14 years ago.

John

  • Hero Member
  • *****
  • Posts: 3966
Re: assembly conversions
« Reply #55 on: August 29, 2020, 04:11:47 am »
I haven't touched PowerBasic in over 20 years.

I felt Zale was a greedy con man.